Powershell 维护SCOM agent 到动态管理组

Posted PS_cmdlet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Powershell 维护SCOM agent 到动态管理组相关的知识,希望对你有一定的参考价值。

关于这篇的blog 的需求实现, 搜索了关于[System.ConfigItem].Notes 的介绍和操作, 参考链接如下:

  1. ​https://randomnote1.github.io/scom/using-the-asset-status-property-in-scom/​
  2. ​https://kevinjustin.com/blog/​

首先CMDB 当中已经对各个服务器的业务等级大类进行了划分(Test/Dev/QA/Production),有了这些大类就可以作为标签设置到SCOM agent 中的监控类[Microsoft.Windows.Computer]中的扩展属性"[System.ConfigItem].Notes" 值, 借助这个属性值可以与CMDB 当中的业务等级字段进行关联

  1. [CMDB]Production = [SCOM]Servers_P
  2. [CMDB]QA = [SCOM]Servers_QA
  3. [CMDB]Test = [SCOM]Server_Test
  4. [CMDB]Development = [SCOM]Server_Dev

接下来就可以按照以下逻辑进行设计SCOM 分组了, 并且还可以减少人工维护SCOM 自定义监控组的成员,

最后总结下来就是分析需求, 搜索了需求的具体实现方法(代码), 就可以测试, 验证, 上线了

ipmo OperationsManager
$scomserver = SCOMMGMT0001
New-SCOMManagementGroupConnection -ComputerName $scomserver
Function Add-SCOMAgentToGroup

param (
[Parameter(Mandatory = $True)] [string]$FQDN,
[Parameter(Mandatory = $True)] [string]$AssetPriority
)

$monitorobj = Get-SCOMMonitoringObject -DisplayName $FQDN
$monitoringObject = $monitorobj |? -FilterScript ( Get-SCOMClass -Id $_.LeastDerivedNonAbstractMonitoringClassId ).Name -eq Microsoft.Windows.Computer
$monitoringObject.[System.ConfigItem].Notes.Value = $AssetPriority
$monitoringObject.Overwrite()

Add-SCOMAgentToGroup -FQDN server001.contoso.com -AssetPriority Servers_P

Powershell

以上是关于Powershell 维护SCOM agent 到动态管理组的主要内容,如果未能解决你的问题,请参考以下文章

SCOM 维护模式 cmdlet 问题?

批量启用SCOM代理的维护模式

SCOM 2016监控IIS 网页服务

SCOM 监视器的 WMI 访问被拒绝错误

那些SCOM 管理包开发中遇到的坑2–Multiple Property Bags

PowerShell扩展——PowerShell从零开始系列之三