监视是否安装了 VMM 主机群集更新 951308
未在主机群集节点上检测到建议的更新 951308。
在一个或多个群集节点上未安装修补程序 951308(在 Windows Server 2008 故障转移群集管理控制台中为 Hyper-V 角色增加了功能和虚拟机控件)。
在合适的群集节点上安装修补程序 951308。
http://support.microsoft.com/kb/951308/zh-cn
Target | Microsoft.SystemCenter.VirtualMachineManager.2012.HyperVHost | ||
Parent Monitor | Microsoft.SystemCenter.VirtualMachineManager.2012.HostClusterUpdatesRollup | ||
Category | AvailabilityHealth | ||
Enabled | False | ||
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.HostClusterUpdate951308Monitor" Accessibility="Public" Target="VMM2012Discovery!Microsoft.SystemCenter.VirtualMachineManager.2012.HyperVHost" ParentMonitorID="Microsoft.SystemCenter.VirtualMachineManager.2012.HostClusterUpdatesRollup" Remotable="true" TypeID="Windows!Microsoft.Windows.TimedScript.TwoStateMonitorType" Enabled="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.VirtualMachineManager.2012.HostClusterUpdate951308Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Update951308NotInstalled" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="Update951308Installed" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>86400</IntervalSeconds>
<SyncTime/>
<ScriptName>HostClusterUpdatesScript.vbs</ScriptName>
<Arguments>6.0.6001.22231</Arguments>
<ScriptBody>
' Copyright (c) Microsoft Corporation. All rights reserved.
' VBScript source code
' HostClusterUpdatesScript.vbs
Option Explicit
SetLocale("en-us")
' This Script is used to get the version of OS
' If the version is greater than expectedVersion,
' then it returns "Healthy", otherwise returns "Unhealthy"
Dim objFSO, actualVersion, oAPI, oBag, oArgs, expectedVersion
' There is one argument, it is expectedVersion
Set oArgs = wscript.Arguments
Set oAPI = CreateObject("MOM.ScriptAPI")
If oArgs.Count = 1 Then
expectedVersion = oArgs(0)
Dim shell, windowsdir
set shell = WScript.CreateObject("WScript.Shell")
windowsdir = shell.ExpandEnvironmentStrings("%windir%")
Set oBag = oAPI.CreatePropertyBag()
Set objFSO = CreateObject("Scripting.FileSystemObject")
Call oBag.AddValue("Expected Path", windowsdir& "\Cluster")
Call oBag.AddValue("ExpectedFile", "FailoverClusters.ObjectModel.dll")
' Check if the %Windir%\Cluster is present
if objFSO.FolderExists(windowsdir& "\Cluster\") Then
Call oBag.AddValue("Expected Path Exists", "Yes")
' Check if the FailoverClusters.ObjectModel.dll is present
if objFSO.FileExists(windowsdir& "\Cluster\FailoverClusters.ObjectModel.dll") Then
Call oBag.AddValue("Expected File Exists", "Yes")
' Get the version of %Windir%\Cluster\FailoverClusters.ObjectModel.dll
actualVersion = objFSO.GetFileVersion(windowsdir& "\Cluster\FailoverClusters.ObjectModel.dll")
if actualVersion < expectedVersion Then
Call oBag.AddValue("Update Installed", "UnHealthy")
else
Call oBag.AddValue("Update Installed", "Healthy")
End if
Call oBag.AddValue("ActualVersion", actualVersion)
Call oBag.AddValue("ExpectedVersion", expectedVersion)
Else
Call oBag.AddValue("Expected File Exists", "No")
Call oBag.AddValue("Update Installed", "UnHealthy")
End If
Else
Call oBag.AddValue("Expected Path Exists", "No")
' If the %Windir%\Cluster is absent, since it is not a cluster node, set the monitor healthy
Call oBag.AddValue("Update Installed", "Healthy")
End If
Call oAPI.Return(oBag)
Else
Call oAPI.LogScriptEvent("HostClusterUpdatesScript.vbs", 101, 0, "HostClusterUpdatesScript was not called with 1 argument and was not executed.")
End If
</ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
<ErrorExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Update Installed']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">UnHealthy</Value>
</ValueExpression>
</SimpleExpression>
</ErrorExpression>
<SuccessExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Update Installed']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Healthy</Value>
</ValueExpression>
</SimpleExpression>
</SuccessExpression>
</Configuration>
</UnitMonitor>