Время ожидания сетевого копирования и семафора Powershell - PullRequest
0 голосов
/ 12 февраля 2019

Powershell (5.0) инициализирует передачу сетевых файлов перед их запуском?

Представьте себе, это скрипт, который копирует файлы TB с общего ресурса Server 2008 R2 SMB, это занимает дни и дни по медленной ссылке.

$remoteFiles = get-childitems -File -Recurse M:\Storage

foreach($remoteFile in $remoteFiles)
{
copy-item $remoteFile -Destination e:\
}

Когда-нибудь в день 2 он запуститсявыбрасывать ошибки Semaphore Timeout для задачи copy-item.

Но это будет отлично работать для всей многодневной передачи ...

$remoteFiles = get-childitems -File -Recurse M:\Storage

While($remoteFiles)
{
     foreach($remoteFile in $remoteFiles[0..1])
     {
         copy-item $remoteFile -Destination e:\
         #...Some funtion to remove this $remoteFile from $remoteFiles... you get the idea
     }
}

Так что мне интересно, что такое Powershellделать с этим циклом.Он выглядит так, будто читает вперед и запускает сетевой сеанс для каждого файла, что было бы неплохо для небольших работ, но время ожидания для чего-то, что может занять несколько дней.

...