1

我正在使用 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 中成功运行?

谢谢你的帮助。

4

1 回答 1

3

尝试这个:

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

看起来后台作业被阻止输入并且因此一直在运行。

于 2011-02-01T02:04:57.923 回答