У меня на предприятии около 3500 компьютеров, которыми я должен управлять с помощью 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