2013-11-17 1 views
1

Я пытаюсь получить список подкаталогов на общем ресурсе, следующее работает отлично, когда я тестирую на консоли, но не кажется чтобы заполнить мою переменную $ folderList, когда бежал с в скрипте:get-childitem не заселяющая переменная при запуске в scipt, отлично работает с консолью PS

$pathInfo = "\\defiant\testShare" 
$folderList = get-childitem $pathInfo | where-object { $_.PSIsContainer } | ForEach-Object { $_.FullName } 
foreach($folder in $folderList) { write-host $folder } 

когда я запускаю этот точный код на пути, я знаю, есть подкаталоги $ folderList возвращает нуль, когда я бегу через .PS1, когда пройдите через консоль, я получаю полный путь всех подкаталогов, как ожидалось.

Выход из консоли (работы):

PS C:\windows\system32> $path = "\\defiant\testShare" 
_________________________________________________________________________________________________ 
PS C:\windows\system32> $folderList = gci $path | ? { $_.PSIsContainer } | % { $_.FullName } 
_________________________________________________________________________________________________ 
PS C:\windows\system32> foreach($folder in $folderList) { write-host $folder } 
\\defiant\testShare\testFolder 

Выход из файла (пунктирный):

PS C:\windows\system32> C:\Users\testUser\Documents\PSScripts\test.ps1 

_________________________________________________________________________________________________ 
+0

Кажется, что все в порядке для меня, дайте мне примерный вывод – PnP

+0

Как вы его кормите $ pathInfo? – PnP

+1

Помогите себе, помогая другим реплицировать вашу проблему: измените свой код выше, чтобы он начинался с назначения $ pathInfo со строковой константой ... другими словами, не _describe_ код, _show_ код. Также имейте в виду, что вещи, которые кажутся одинаковыми с write-host, на самом деле не могут быть одинаковыми. –

ответ

0

герметизирующий заявление GCI в @(), похоже, закрепились моей проблема:

$folderList = @(gci $pathInfo | ? { $_.PSIsContainer } | % { $_.FullName }) 

Это было предложение от бывшего коллеги.