Это ничего не возвращает:
$x = "C:\temp"
Start-Job -ScriptBlock {get-childItem -path $x} | Wait-Job | Receive-job
Но предоставление параметра пути без переменной, например...
Start-Job -ScriptBlock {get-childItem -path C:\temp} | Wait-Job | Receive-job
...возвращает содержимое этой временной папки, в данном случае durr.txt. Это в Windows Server 2008R2 SP1 с выводом Powershell $host.version следующим образом:
Major Minor Build Revision
----- ----- ----- --------
3 0 -1 -1
Подозревая Powershell v3, я попытался обновить рабочий стол Windows 7 с пакетом обновления 1 (SP1) с версии 2 до версии 3, но не смог воссоздать проблему. На этом обновленном рабочем столе вывод $host.version теперь соответствует указанному выше.
В чем дело?
ИЗМЕНИТЬ / Что происходит?
Разоренная работа кажется эквивалентной
Start-Job -ScriptBlock {get-childItem -path $null} | Wait-Job | Receive-job
Таким образом, gci вернул результаты для текущего каталога фонового задания, папки «Документы», которая оказалась пустой.