Monitors the presence of VMM update 971244
Update 971244 was not detected on the VMM management server.
Update 971244 was not detected on the VMM management server
Install update 971244 (Windows Remote Management (WinRM) does not accept HTTP authorization requests that are larger than 16 KB on a computer that is running Windows Server 2008 or Windows Vista) on the VMM management server.
http://support.microsoft.com/kb/971244
Target | Microsoft.SystemCenter.VirtualMachineManager.2012.VMMManagementServer | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.TimedScript.TwoStateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SystemCenter.VirtualMachineManager.2012.VMMUpdate971244Monitor" Accessibility="Public" Target="VMM2012Discovery!Microsoft.SystemCenter.VirtualMachineManager.2012.VMMManagementServer" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" TypeID="Windows!Microsoft.Windows.TimedScript.TwoStateMonitorType">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.VirtualMachineManager.2012.VMMUpdate971244Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="VMMUpdate971244IsNotInstalled" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="VMMUpdate971244Installed" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>86400</IntervalSeconds>
<SyncTime/>
<ScriptName>CheckVMMUpdate971244MonitorScript.vbs</ScriptName>
<Arguments/>
<ScriptBody>
' Copyright (c) Microsoft Corporation. All rights reserved.
' VBScript source code
' CheckVMMUpdate971244MonitorScript.vbs
Option Explicit
SetLocale("en-us")
' This Script is used to check if the VMM update 971244 is installed
' Through check the version of %Windir%\System32\wsmsvc.dll
' If the version is greater than "6.0.6002.22135",
' then it returns "Healthy", otherwise returns "Unhealthy"
Dim objFSO, winRMVersion, oAPI, oBag
const expectedVersion = "6.0.6002.22135"
Dim shell, windowsdir
set shell = WScript.CreateObject("WScript.Shell")
windowsdir = shell.ExpandEnvironmentStrings("%windir%")
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
' Get the version of %Windir%\System32\wsmsvc.dll
Set objFSO = CreateObject("Scripting.FileSystemObject")
Call oBag.AddValue("Expected File", "wsmsvc.dll")
' Check if the file exists
if objFSO.FileExists(windowsdir & "\system32\wsmsvc.dll") Then
Call oBag.AddValue("Expected File Exists", "Yes")
winRMVersion = objFSO.GetFileVersion(windowsdir & "\system32\wsmsvc.dll")
if winRMVersion < expectedVersion Then
Call oBag.AddValue("Update 971244 Installed", "Not Installed")
else
Call oBag.AddValue("Update 971244 Installed", "Installed")
End if
Call oBag.AddValue("ActualVersion", winRMVersion)
Call oBag.AddValue("ExpectedVersion", expectedVersion)
Call oAPI.Return(oBag)
Else
Call oBag.AddValue("Expected File Exists", "No")
Call oBag.AddValue("Update 971244 Installed", "Not Installed")
End If
</ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
<ErrorExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Update 971244 Installed']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Not Installed</Value>
</ValueExpression>
</SimpleExpression>
</ErrorExpression>
<SuccessExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Update 971244 Installed']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Installed</Value>
</ValueExpression>
</SimpleExpression>
</SuccessExpression>
</Configuration>
</UnitMonitor>