Windows リモート管理の正しいバージョンがインストールされているかどうかを監視します
バーチャル マシン ホスト上の WinRM バージョンに、System Center Virtual Machine Manager (VMM) の現在のバージョンとの互換性がありません。
Virtual Machine Manager が更新されているため、ホスト上の WinRM を更新する必要があります。
ホスト上の WinRM をバージョン 6.0.6001.18000 以上に更新します。
Target | Microsoft.SystemCenter.VirtualMachineManager.2012.HyperVHost | ||
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.WinRMVersionMonitor" Accessibility="Public" Target="VMM2012Discovery!Microsoft.SystemCenter.VirtualMachineManager.2012.HyperVHost" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" TypeID="Windows!Microsoft.Windows.TimedScript.TwoStateMonitorType">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.VirtualMachineManager.2012.WinRMVersionMonitor.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="InCorrectVersionWinRMInstalled" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="CorrectVersionWinRMInstalled" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>7200</IntervalSeconds>
<SyncTime/>
<ScriptName>CheckWinRMVersionMonitorScript.vbs</ScriptName>
<Arguments/>
<ScriptBody>
' Copyright (c) Microsoft Corporation. All rights reserved.
' VBScript source code
' CheckWinRMVersionMonitorScript.vbs
Option Explicit
SetLocale("en-us")
' This Script is used to get the version of %Windir%\System32\wsmsvc.dll
' If the version is greater than "6.0.6001.18000",
' then it returns "Healthy", otherwise returns "Unhealthy"
Dim shell, windowsdir
set shell = WScript.CreateObject("WScript.Shell")
windowsdir = shell.ExpandEnvironmentStrings("%windir%")
Dim objFSO, winRMVersion, oAPI, oBag
const expectedVersion = "6.0.6001.18000"
' Get the version of %Windir%\System32\wsmsvc.dll
Set objFSO = CreateObject("Scripting.FileSystemObject")
winRMVersion = objFSO.GetFileVersion(windowsdir& "\system32\wsmsvc.dll")
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
if winRMVersion < expectedVersion Then
Call oBag.AddValue("Correct Version WinRM Installed", "UnHealthy")
else
Call oBag.AddValue("Correct Version WinRM Installed", "Healthy")
End if
Call oAPI.Return(oBag)
</ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
<ErrorExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Correct Version WinRM Installed']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">UnHealthy</Value>
</ValueExpression>
</SimpleExpression>
</ErrorExpression>
<SuccessExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Correct Version WinRM Installed']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Healthy</Value>
</ValueExpression>
</SimpleExpression>
</SuccessExpression>
</Configuration>
</UnitMonitor>