我使用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中成功运行?
感谢您的帮助。
答案 0 :(得分:3)
试试这个:
$cred = Get-Credential -Credential Administrator
Start-Job -scriptblock {Param ($cred) gwmi win32_computersystem -ComputerName 10.1.2.3 -Credential $cred} -ArgumentList $cred
看起来后台作业因输入而被阻止,并且由于这个原因而一直在运行。