Я создаю подключенный сетевой диск в PowerShell, но у меня странное поведение при получении файлов с диска. Когда я создаю диск (без -Persist -Scope Global
):
$somePath = "\\testtest.lan\Res\Application\TestApp\SomeFiles"
$PsDrive = New-PSDrive -Name "M" -PSProvider "FileSystem" -Root $somePath
Get-ChildItem "M:\" -Recurse | Select-Object -Property *, @{n='Path';e={$_.FullName -replace [regex]::Escape("M:\")}}
При первой попытке сделать Get-Child
, как указано выше, я получаю сообщение об ошибке:
"Получить -ChildItem: длина не может быть меньше нуля "
Сразу после второй попытки все работает нормально, и я вижу все перечисленные файлы. В следующий раз, когда я пытаюсь это перестает работать (в том же сеансе) с другой ошибкой:
Get-ChildItem: Произошла непредвиденная сетевая ошибка.
В строке: 1 символ: 1
+ Get-ChildItem "M: \" -Recurse
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: Ошибка чтения: (\ testtest.l..er \ Res \ Application \ TestApp \ SomeFiles: String) [Get-ChildItem], IOException
+ FullyQualifiedErrorId: DirIOError, Microsoft.PowerShell.Commands.GetChildItemCommand
Когда я пытаюсь создать подключенный сетевой диск следующим образом:
New-PSDrive -Name "M" -PSProvider "FileSystem" -Root $somePath -Persist -Scope Global
Он работает сразу несколько раз, но через некоторое время перестает работать с той же ошибкой, что и выше:
Get-ChildItem: произошла непредвиденная сетевая ошибка.
В строке: 1 символ: 1
+ Get-ChildItem "M: \" -Recurse
+ ~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: ReadError: (\ testtest.l..er \ Res \ Application \ TestApp \ SomeFiles: String) [Get- ChildItem], IOException
+ FullyQualifiedErrorId: Di rIOError, Microsoft.PowerShell.Commands.GetChildItemCommand
Когда я делаю Get-PsDrive
, я вижу там подключенный диск.
Я что-то не так делаю в коде или какая-то проблема с сетевое местоположение, к которому я пытаюсь получить доступ. Это не должно быть связано с разрешениями, так как бывают моменты, когда оно работает правильно или, возможно, так оно и есть. Я могу получить доступ к сетевому расположению при попытке из Проводника.
Дайте мне знать, что вы думаете об этом.
Спасибо,
Андрей