在Start-Job scriptblock中,带有凭据的Get-WmiObject失败

时间:2011-01-31 21:05:22

标签: powershell start-job

我使用Get-WmiObjet cmdlet成功从Windows 2000计算机中检索了一些信息。这些计算机不属于我们的域,因此我使用-Credential参数来传递本地管理员凭据。

我现在尝试使用Start-Job并行运行多个WMI查询,但我甚至无法使用一个查询。

当我运行以下内容时:

Start-Job -initializationscript {$cred = get-credential -credential administrator}  -scriptblock {gwmi win32_computersystem -ComputerName 10.1.2.3 -Credential $cred}

创建了一个作业,系统提示我输入凭据,但作业永远不会完成,其状态始终为“正在运行”。

当然:

C:\>$cred = Get-Credential -credential administrator
C:\>gwmi win32_computersystem -ComputerName 10.1.2.3 -Credential $cred

工作正常。

如何使用备用凭据让Get-WmiObject在Start-Job中成功运行?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

试试这个:

$cred = Get-Credential -Credential Administrator
Start-Job -scriptblock {Param ($cred) gwmi win32_computersystem -ComputerName 10.1.2.3 -Credential $cred} -ArgumentList $cred

看起来后台作业因输入而被阻止,并且由于这个原因而一直在运行。