System Center 2012 Virtual Machine Manager 호스트 클러스터 업데이트 951308

Microsoft.SystemCenter.VirtualMachineManager.2012.HostClusterUpdate951308Monitor (UnitMonitor)

VMM 호스트 클러스터 업데이트 951308이 설치되었는지 여부를 모니터링합니다.

Knowledge Base article:

요약

호스트 클러스터 노드에서 권장 업데이트 951308이 검색되지 않았습니다.

원인

클러스터 노드 하나 이상에 핫픽스 951308(Hyper-V 역할의 Windows Server 2008 장애 조치(failover) 클러스터 관리 콘솔에서 향상된 기능 및 가상 컴퓨터 제어)이 설치되어 있지 않습니다.

해결 방법

적절한 클러스터 노드에 핫픽스 951308을 설치합니다.

외부 정보

http://support.microsoft.com/kb/951308/ko-kr

Element properties:

TargetMicrosoft.SystemCenter.VirtualMachineManager.2012.HyperVHost
Parent MonitorMicrosoft.SystemCenter.VirtualMachineManager.2012.HostClusterUpdatesRollup
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.TimedScript.TwoStateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
호스트 클러스터 업데이트 951308 설치 안 됨
VMM 호스트 클러스터 업데이트 951308이 설치되지 않았습니다.
RunAsDefault

Source Code:

<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><Script>
' 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&amp; "\Cluster")
Call oBag.AddValue("ExpectedFile", "FailoverClusters.ObjectModel.dll")


' Check if the %Windir%\Cluster is present
if objFSO.FolderExists(windowsdir&amp; "\Cluster\") Then
Call oBag.AddValue("Expected Path Exists", "Yes")
' Check if the FailoverClusters.ObjectModel.dll is present
if objFSO.FileExists(windowsdir&amp; "\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&amp; "\Cluster\FailoverClusters.ObjectModel.dll")
if actualVersion &lt; 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
</Script></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>