Hello,

since few weeks we have problems with the Windows Update Status Sensor. Four Exchange Severs all in the same enviroment are reporting back, error PE018

- Log File *.log

$searcher = (New-Object -ComObject Microsoft.Update.Session).CreateUpdateSearcher();$searcher.Search("Type='Software'").Updates | Sort-Object -Property Dates -Descending | ft -autosize IsInstalled, MsrcSeverity
0:

IsInstalled MsrcSeverity
----------- ------------
       True             
       True Important   
       True             
       True             
       True Moderate    
       True             
       True             
       True Critical    
       True             
       True             



$([int]$($((get-date).ToUniversalTime()) - ($searcher.QueryHistory(0, 1) | Select-Object Date).Date).TotalSeconds)
0:
2511597

- Log File *.txt

Data['blockedsens'].asString := '';
Data['canlinux'].asString := '0';
Data['channelinfos'].asString := '{"1":{"Unit":"oukCount","CustomUnit":"","ValueLookupName":"","LimitMode":"0","LimitMinError":"","LimitMinWarning":"","LimitMaxError":"","LimitMaxWarning":""},"2":{"Unit":"oukCount","CustomUnit":"","ValueLookupName":"","LimitMode":"-1","LimitMinError":"","LimitMinWarning":"","LimitMaxError":"","LimitMaxWarning":"0.2"},"3":{"Unit":"oukCount","CustomUnit":"","ValueLookupName":"","LimitMode":"0","LimitMinError":"","LimitMinWarning":"","LimitMaxError":"","LimitMaxWarning":""},"4":{"Unit":"oukCount","CustomUnit":"","ValueLookupName":"","LimitMode":"-1","LimitMinError":"","LimitMinWarning":"","LimitMaxError":"","LimitMaxWarning":"0.2"},"5":{"Unit":"oukCount","CustomUnit":"","ValueLookupName":"","LimitMode":"0","LimitMinError":"","LimitMinWarning":"","LimitMaxError":"","LimitMaxWarning":""},"6":{"Unit":"oukCount","CustomUnit":"","ValueLookupName":"","LimitMode":"-1","LimitMinError":"","LimitMinWarning":"","LimitMaxError":"","LimitMaxWarning":"0.2"},"7":{"Unit":"oukCount","CustomUnit":"","ValueLookupName":"","LimitMode":"0","LimitMinError":"","LimitMinWarning":"","LimitMaxError":"","LimitMaxWarning":""},"8":{"Unit":"oukCount","CustomUnit":"","ValueLookupName":"","LimitMode":"-1","LimitMinError":"","LimitMinWarning":"","LimitMaxError":"0.2","LimitMaxWarning":""},"9":{"Unit":"oukCount","CustomUnit":"","ValueLookupName":"","LimitMode":"0","LimitMinError":"","LimitMinWarning":"","LimitMaxError":"","LimitMaxWarning":""},"10":{"Unit":"oukCount","CustomUnit":"","ValueLookupName":"","LimitMode":"-1","LimitMinError":"","LimitMinWarning":"","LimitMaxError":"0.2","LimitMaxWarning":""},"11":{"Unit":"oukTimeSeconds","CustomUnit":"","ValueLookupName":"","LimitMode":"-1","LimitMinError":"","LimitMinWarning":"0","LimitMaxError":"","LimitMaxWarning":"2592000"}}';
Data['channelnames'].asString := 'Windows Updates Installed'#$D#$A + 
'1'#$D#$A + 
'Windows Updates Missing'#$D#$A + 
'2'#$D#$A + 
'Security Updates (Low) Installed'#$D#$A + 
'3'#$D#$A + 
'Security Updates (Low) Missing'#$D#$A + 
'4'#$D#$A + 
'Security Updates (Moderate) Installed'#$D#$A + 
'5'#$D#$A + 
'Security Updates (Moderate) Missing'#$D#$A + 
'6'#$D#$A + 
'Security Updates (Important) Installed'#$D#$A + 
'7'#$D#$A + 
'Security Updates (Important) Missing'#$D#$A + 
'8'#$D#$A + 
'Security Updates (Critical) Installed'#$D#$A + 
'9'#$D#$A + 
'Security Updates (Critical) Missing'#$D#$A + 
'10'#$D#$A + 
'Time since last update'#$D#$A + 
'11'#$D#$A + 
'';
Data['environment'].asString := '';
Data['exefile'].asString := 'LastWindowsUpdateSensor.exe';
Data['exeparams'].asString := ' -host="*" -timeout=43198 -port=5985 -user="*" -pass="*" "-debugfile=C:\ProgramData\Paessler\PRTG Network Monitor\Logs (Sensors)\Result of Sensor 43733.log"';
Data['fastcount'].asString := '0';
Data['host'].asString := '****';
Data['hostv6'].asString := '';
Data['inerror'].asString := '1';
Data['interfacenumber'].asString := '';
Data['inum'].asString := '';
Data['ipversion'].asString := '0';
Data['isexesensor'].asString := '1';
Data['lastmsg'].asString := '#O18';
Data['lastuptime'].asString := '0';
Data['linuxlogindomain'].asString := '';
Data['linuxloginpassword'].asString := '***';
Data['monitorchange'].asString := '';
Data['mutexname'].asString := '';
Data['reboot'].asString := '42704.7191784028';
Data['reqmsginterval'].asString := '43200';
Data['requiredotnetversion'].asString := '40';
Data['resultfile'].asString := 'Result of Sensor 43733.txt';
Data['sensorid'].asString := '43733';
Data['simulate'].asString := '0';
Data['timeout'].asString := '1140';
Data['tlsexplicit_default'].asString := '';
Data['tlsexplicit_ftp'].asString := '';
Data['tlsexplicit_imap'].asString := '';
Data['tlsexplicit_pop3'].asString := '';
Data['tlsexplicit_port'].asString := '';
Data['tlsexplicit_smtp'].asString := '';
Data['uptimecount'].asString := '0';
Data['usednstime'].asString := '0';
Data['usewindowsauthentication'].asString := '';
Data['windowslogindomain'].asString := '*';
Data['windowsloginpassword'].asString := '*';
Data['windowsloginusername'].asString := '*';
Data['writeresult'].asString := '1';

I tried to run the powershell command direct on the host

$searcher = (New-Object -ComObject Microsoft.Update.Session).CreateUpdateSearcher();$searcher.Search("Type='Software'").Updates

after few hours no results were reported back and I could see 30% CPU usage plus 1.5 GB RAM

I set up the Powershell Limits from 1024 to 2048. Restart all services, BITS Windows Updates, WinRM etc, didn't help

Manual search for Updates works like a charm.

I appreciate your support

Kind regards,


Article Comments

How long does... Measure-Command { $searcher = (New-Object -ComObject Microsoft.Update.Session).CreateUpdateSearcher();$searcher.Search("Type='Software'").Updates } ...take to execute? What interval is configured on the sensor? 24h I assume?


Dec, 2016 - Permalink
PS WSMan:\localhost\Plugin> Measure-Command { $searcher = (New-Object -ComObject Microsoft.Update.Session).CreateUpdateS
earcher();$searcher.Search("Type='Software'").Updates }


Days              : 0
Hours             : 1
Minutes           : 34
Seconds           : 38
Milliseconds      : 11
Ticks             : 56780117599
TotalDays         : 0,0657177287025463
TotalHours        : 1,57722548886111
TotalMinutes      : 94,6335293316667
TotalSeconds      : 5678,0117599
TotalMilliseconds : 5678011,7599

Dec, 2016 - Permalink

Sensor interval is set to 6H.

During the Win Update Check from that script, which was running for more than 90 mins, we had a CPU Load from 30 % and a Memory Usage from 1.5 GB

Do we have a more efficient solution for that check ?

Regards


Dec, 2016 - Permalink

A workaround can be found here in Step 4 of this guide :)


Dec, 2016 - Permalink

The problem here was the WSUS Server. He was replying with big delay as a result we had the error.

THank you for helping me find the solution here.

A good maintenance from WSUS, clean old updates - give more resources, have solved the problem


Jan, 2017 - Permalink

Ah, nice - thanks for the hint, might be useful for others :)


Jan, 2017 - Permalink