PSExec никогда не завершается, когда выполнено в начинать-задании

Я пытаюсь выполнить командный файл в списке 48 компьютеров. Я не хочу выполняться и ожидать завершения последовательно, потому что каждый cmd занимает приблизительно 10 минут для завершения. WinRM не является опцией. Ни один не WMI. PSExec является опцией...., но я, может казаться, не заставляю его работать в Начинать-задании.

Я делаю что-то как:

$sb = {
    param
    (
        $computer = "serverw01",
        $userid = "domain2\serviceid",
        $password = 'servicepw',
        $command = "cd /d d:\ && updateAll.cmd"
    )

    d:\eps\pstools\PsExec.exe -u $userid  -p $password "\\$($computer)" cmd /c $command
}

foreach ($computer in Get-Content "D:\Data\serverlist.txt") {
    Start-Job $sb -ArgumentList $computer
}

Это создает набор заданий...., но никогда завершенный и если я Получать-задание на каком-либо из них я возвращаюсь

    PS> get-job | receive-job -Keep

    + CategoryInfo          : NotSpecified: (:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

это выполняется очень хорошо, если я выполняю функцию как:

& $sb -computer "serverw01"

Скрипт инициирования запущен в Powershell v2.0 на поле Server 2008r2, я попробовал его на поле в domain2, в то время как зарегистрированный с идентификатором пользователя администратора домена (тот же результат).

6
задан JasonMArcher 30 March 2011 в 21:19
поделиться