【发布时间】:2012-02-29 16:21:34
【问题描述】:
我的企业拥有大约 3,500 台 PC,我必须使用 Microsoft 的 System Center Configuration Manager (SCCM) 进行管理。 SCCM 客户端严重依赖 WMI,有时 WMI 会因任何原因而中断。我正在开发一个 Powershell 脚本,可以远程修复这些损坏的客户端上的 WMI。
我尝试远程查询 WMI 的大多数客户端都没有问题,而其他客户端只是将我的脚本挂起几分钟甚至无限期。我已经通过使用 WMISearcher 对象类型并使用 ReturnImmediately 和 Timeout Options 属性解决了其中一些问题,但仍有一些无限期挂起。
我正在寻找可以添加到此脚本中的内容,这样客户端就不会因为 WMI 问题而挂断我的脚本。
这是我到目前为止的小脚本。脚本挂在“$oResult = $oWmi.Get()”行。
$oWmi = [WMISearcher]'';
$oWmi.Options.ReturnImmediately = $true;
$oWmi.Options.Timeout = '0:0:2';
$oWmi.Scope.Path = "\\$PCNAME\root\cimv2";
$oWmi.Query = 'SELECT * FROM Win32_OperatingSystem';
$oResult = $oWmi.Get();
$oResult | Out-Null
【问题讨论】:
标签: powershell wmi