я в настоящее время возникают проблемы с попытками Многопоточной развертывание виртуальных машин (VMWare специально), и я использую следующий код, чтобы попытаться что:Передача параметров с параметрами -ArgumentList и Start-Job не работает. Что не так с кодом?
подключения-viserver VCENTER
for($i=251; $i -le 261; $i++) {
Start-Job {Param([string]$num) New-vm -ResourcePool Storage-POCs -Name "virtual-machine-$num" -vm "newvm" -Datastore MyDataStore} -ArgumentList $i
}
Вот выход настоящее время я получаю в терминале из этого кода:
HasMoreData : True
StatusMessage :
Location : localhost
Command : Param([string]$num)
New-vm -ResourcePool Storage-POCs -Name "virtual-machine-$num" -vm "newvm" -Datastore MyDataStore
JobStateInfo : Running
Finished : System.Threading.ManualResetEvent
InstanceId : 3a6b8f27-c8d8-4386-9e58-6c1dfcfef52c
Id : 419
Name : Job419
ChildJobs : {Job420}
Output : {}
Error : {}
Progress : {}
Verbose : {}
Debug : {}
Warning : {}
State : Running
HasMoreData : True
StatusMessage :
Location : localhost
Command : Param([string]$num)
New-vm -ResourcePool Storage-POCs -Name "virtual-machine-$num" -vm "newvm" -Datastore MyDataStore
JobStateInfo : Running
...
Может кто-нибудь сказать мне, почему $ Num не переводит в число whic h будет $ i?
Спасибо, Alex
Неужели работа не работает? Вы уверены, что он не переводится? Я не думаю, что результат работы покажет замещение. – briantist
Я сделал небольшой тест; он отлично работает. Я думаю, что вы можете ввести в заблуждение вывод «Start-Job» с выходом самого задания: '9 |% {Start-Job {param ([string] $ num)" ~ $ num ~ "} - ArgumentList $ _ } | Wait-Job | Receive-Job' – briantist
Вы правы. Результат действительной команды прекрасен. Я не думал проверять его, увидев вывод Start-Job. –