设为首页 收藏本站
查看: 1161|回复: 0

SCOM PowerShell 命令使用指南 - 09 (MonitoringObject)

[复制链接]

尚未签到

发表于 2018-9-3 09:18:42 | 显示全部楼层 |阅读模式
  今天接着为大家介绍和MonitoringObject有关的命令。首先来看看Get-MonitoringObject,这个命令看上去和Get-Monitor很像,但是实际上是有着本质的区别。Get-Monitor命令返回的结果来自于ManagementPack,因此会包很多Monitor本身的信息比如配置信息,报警设置,是否启用等等。而Get-MonitoringObject命令则返回当前正处于监视状态的监视器,因此它只返回和监视有关的信息,比如健康状态,健康状态的最后一次更新时间,隶属于哪个管理组等少量信息。不过Get-MonitoringObject返回的对象却是我们执行后续命令的前提条件。
  比如需要返回ManagementClass类是Microsoft.Windows.Computer中所有监视器的健康状态,那么可以使用以下命令:
  Get-MonitoringClass -Name "Microsoft.Windows.Computer" | Get-MonitoringObject | FT PathName,Healthstate
  结果如下:

  当然仅仅得到健康状态还是不够的,有时我们需要获得健康状态的最后一次修改时间,那么可以使用以下命令:
  Get-MonitoringClass -Name "Microsoft.Windows.Server.2008.Computer" | Get-MonitoringObject | Select-Object DisplayName,HealthState,@{Name="LastTimeModified";Expression={(Get-State $_).LastTimeModified}}

  这里由于最后的LastTimeModified属性来自于Get-State命令的运行结果,因此为了将显示结果进行整合,使用了“已计算的属性”这个技巧。接下来看看Get-MonitorHierarchy这个命令。该命令主要是得到MonitoringObject的层次化结构,有点类似于图形界面中的健康浏览器。具体命令和刚才有点类似:
  Get-MonitoringClass -Name "Microsoft.Windows.Server.2008.Computer" | Get-MonitoringObject | Select DisplayName,@{Name="Hierarchy";Expression={Get-MonitorHierarchy $_ -Recurse}} | fl *

  在说完Get-MonitorHierarchy之后,名词部分是Monitor的命令就到此结束了。与此同时我们还熟悉了Get-MonitoringObject和Get-MonitoringClass这两个命令。接下来再来看看其它名词部分包含Monitoring的命令。
  首先是Get-MonitoringObjectGroup,这个命令主要返回所有的MonitoringObjectGroup的列表并返回当前的健康状态。

  接下来是Get-MonitoringObjectPath,该命令的主要作用就是用来获得MonitoringObject的路径,该路径会被很多命令使用到,虽然我之前的介绍里并没有过多涉及。命令的使用很简单,将Get-MonitoringObject得到结果传递给Get-MonitoringObjectPath即可,当然如果要进行筛选的话,我们可以使用Where-Object来实现:

  接下来的命令是Get-MonitoringObjectProperty,该命令的主要作用就是返回MonitoringObject的属相信息,使用方法和很多命令一样:

  接下来的一个命令是Get-MonitoringClassProperty,该命令主要对应图形界面中Authoring,Management Pack Objects中的Attirbutes界面。主要用于获得MonitoringObject类中的一些属性信息。

  接着我们来看一下Get-RelationshipObject这个命令,该命令的主要作用就是找出MonitoringObject和具体对象之间的联系,比如使用以下命令就能获得当前正在监视的和SQL有关的MonitoringObject的信息:
  Get-MonitoringObject | ?{$_.DisplayName -like "SQL*"} | Get-RelationshipObject | FT *Object,LastModified –A

  然后我们来看一下 Get-RelationshipClass。该命令主要用于返回当前SCOM中Relationship类。可以使用Name参数来限定要查找的对象,但是要注意Name参数是区分大小写的。

  接着来看下Get-Recovery命令。该命令主要返回恢复操作对象,也就是单一Monitor中Diagnostic and Recovery便签卡中的Configure recovery tasks中的recovery对象。如果大家需要找到特定对象的话,可以使用Where-Object和DisplayName属性来进行筛选。

  接着是Remove-DisabledMonitoringObject命令。该命令负责移除所有发现设置被禁用的Monitoring Object。该命令不接受参数输入,同时命令也不会返回任何值。
  最后我们来熟悉下如何使用New-MonitoringPropertyValuePair及New-CustomMonitoringObject来新建自定义的MonitoringObject. 首先来看一下New-CustomMonitoringObject,该命令接受两个参数输入,一个是MonitoringClass,用于指定新建的CustomMonitoringObject关联到哪个类,我们可以使用Get-MonitoringClass来获得特定对象。第二个参数是KeyPropertyValuePair,这个参数用于指定MonitoringObject的具体属性,可以通过New-MonitoringPropertyValuePair来创建该参数所需对象。详细的命令如下:
  $mc = get-monitoringclass -name "Microsoft.Windows.Computer"
  $prop = get-monitoringclassproperty -monitoringclass $mc | where-object {$_.Name -eq 'PrincipalName'}
  $mpvalue = new-monitoringpropertyvaluepair -monitoringclassproperty $prop -propertyvalue "CNSHSQLSVR01"
  New-CustomMonitoringObject -MonitoringClass $mc -KeyPropertyValuePair $mpvalue
  关于这部分的PowerShell命令的确是很难操作,也脱离了PowerShell原来给系统管理员带来的操作体验,大量的.NET知识贯穿其中,希望SCOM v.Next中的PowerShell都给我们带来改进后的操作体验吧。
  已发表 2011年7月25日 21:35 作者 ghjconan
  归档在:SCOM, PowerShell, OpsMgr


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-561866-1-1.html 上篇帖子: SCOM PowerShell 命令使用指南 - 08 (Monitor) 下篇帖子: SCOM PowerShell 命令使用指南 - 10 (Rule,PerformanceCounter和Override)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表