【问题标题】:SCOM MaintenanceMode cmdlt issue?SCOM 维护模式 cmdlet 问题?
【发布时间】:2017-12-14 04:20:17
【问题描述】:
尝试将服务器设置为scom维护模式并收到错误
这是我正在使用的代码:
$Time = ((Get-Date).AddMinutes(240))
Start-SCOMMaintenanceMode -Instance TEST -EndTime $Time -Comment "Applying
Software Updates."
【问题讨论】:
-
该服务器的对象名称是测试吗?您是否尝试使用Get cmdlet(我可能会尝试使用Get-SCOMClassInstance)预先获取服务器的对象?也许您只需要添加域?如果您查看documentation,您会发现他们正在使用$Instance = Get-SCOMClassInstance -Name "Server01.Contoso.com" 预先获取该服务器的实际实例。
标签:
powershell
maintenance
scom
【解决方案1】:
Instance 参数的值应具有 MonitoringObject 类型。你应该使用 Get-SCOMClassInstance 来检索它,但要小心,你使用
$Instance = Get-SCOMClassInstance -Name "Server01.Contoso.com"
然后您将获得不同类型的对象列表,这些对象以其父服务器命名。因此,如果您打算将 Windows 服务器置于维护模式,则需要过滤掉除 Windows 计算机类的实例之外的所有内容:
$Instance = Get-SCOMClassInstance -Name "Server01.Contoso.com" | Where-Object { $_.GetClasses() -contains (Get-SCClass -Name Microsoft.Windows.Computer) }