私はMicrosoftのSystem Center Configuration Manager(SCCM)で管理しなければならない約3,500台のPCのエンタープライズを持っています。 SCCMクライアントはWMIに大きく依存し、何らかの理由でWMIが中断することがあります。これらの壊れたクライアントでWMIをリモートで修復するPowershellスクリプトを開発しています。リモート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
私はその修正プログラムについて知りませんでした。私はそれをチェックするつもりです。 –