System Center 2012 Virtual Machine Manager - Versão do WinRM

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

Monitora se a versão correta do Windows Remote Management está instalada.

Knowledge Base article:

Resumo

A versão do WinRM no host de máquina virtual não é compatível com a versão atual do System Center Virtual Machine Manager (VMM).

Causas

O Virtual Machine Manager foi atualizado, e como resultado o WinRM precisa ser atualizado no host.

Resoluções

Atualize o WinRM no host para a versão 6.0.6001.18000 ou superior.

Element properties:

TargetMicrosoft.SystemCenter.VirtualMachineManager.2012.HyperVHost
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.TimedScript.TwoStateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Versão Incorreta do WinRM Instalada
Uma versão incorreta do Windows Remote Management está instalada no computador. Nome do computador: {0}
RunAsDefault

Source Code:

<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><Script>
' 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&amp; "\system32\wsmsvc.dll")

Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()

if winRMVersion &lt; 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)
</Script></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>