【问题标题】:Timeout in a Remote Powershell WMI Query远程 Powershell WMI 查询中的超时
【发布时间】: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


    【解决方案1】:

    可能与您的问题没有直接关系,但您知道吗:http://support.microsoft.com/kb/932303

    【讨论】:

    • 我不知道那个修补程序。我去看看。
    【解决方案2】:

    您是否考虑过将这些查询作为后台作业运行?然后,您可以在主脚本中为作业设置一个计时器,如果在时间到期时尚未完成,您可以删除该作业。

    【讨论】:

    • 我有而且我仍然打算这样做。但是,我希望有一个更简单的解决方案可以实施。
    猜你喜欢
    • 1970-01-01
    • 2012-04-14
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    相关资源
    最近更新 更多