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

SCOM PowerShell 命令使用指南 - 05 (Discovery)

[复制链接]

尚未签到

发表于 2018-9-3 09:15:39 | 显示全部楼层 |阅读模式
  在说完ManagementPack之后,我们再来看看名词部分是Discovery的命令。通过使用之前的命令,可以说我们已经完成了SCOM服务器的基本准备工作,接下来要让SCOM成为真正意义上的服务器保姆,那么必须让SCOM把分散在各处的服务器给集中圈养起来。而实现这个目标的正是以Discovery为名词部分的命令。而名词是Discovery的命令也分两类,第一类中只有一个命令Get-Discovery,这个命令非常有迷惑性,和第二类命令完全不同。Get-Discovery是指ManagementPack中的对象发现设置,这些设置是随着MP一起发布的,有些设置根据SCOM SKU的不同而不同。而这些设置会影响到SCOM中Override选项,详细介绍可以看下这篇MSDN博客。至于命令的运行效果如下图所示(部分)。

  接下来,我们来看看第二类命令,第二类命令则是之前所说的将服务器圈养起来的命令。也就是大家在图形界面中运行的计算机和设备发现向导。然后这里也分成两个子类,一类是用于Windows计算机的发现,另一类是用于网络设备也就是支持SNMP协议设备的发现。最后我们要使用Start-Discovery来触发发现过程。接下来就先来看看如何使用用于发现Windows计算机的命令。首先我们要做的就是利用动词为New的New-WindowsDiscoveryCofiguration新建一个发现配置,为此我们需要配置以下参数ComputerName:计算机名
  PerformVerification:是否对发现到计算机执行验证
  ComputerType:可选的值是Both,Server和Workstation,即我们想要发现的Windows类型是服务器还是工作站,或者两者都要。
  ActionAccountCredential:ActionAccount的凭据
  然后我们来看一个示例命令:
  $discoveryConfig = New-WindowsDiscoveryConfiguration -ComputerName "cnshaddsdc01" -PerformVerification -ComputerType Server -ActionAccountCredential (Get-Credential corp\administrator)
  然后我们将新建出来的配置保存到变量$discoveryConfig中,供稍后的Start-Discovery命令来使用,不过Start-Discovery需要指定ManagementServer参数,因此利用之前我们学习的Get-ManagementServer来获得相关的ManagementServer对象,同样的还是要将找到的对象保存到变量中,这样我们就能使用Start-Discovery来触发查询了:
  $discoveryResult = Start-Discovery -WindowsDiscoveryConfiguration $discoveryConfig -ManagementServer $managementServer -Verbose
  这里还是将搜索结果保存到变量$discoveryResult中,因为之后我们在安装Agent的时候要引用这里得到查询结果。
  接下我们在来看看如何设置LDAP查询条件。首先要做的是新建LDAP查询条件,然后保存到变量中,供后续命令使用。
  $ldapqueryCriteria = New-LdapQueryDiscoveryCriteria -LdapQuery "(&(sAMAccountType=805306369)(name=cnsh*))" -domain corp
  接着要利用这个LDAP查询语句来新建发现配置,因为LDAP条件也是属于Windows查询的一部分,因此我们还是要使用New-WindowsDiscoveryConfiguration来新建发现配置。
  $discoveryConfig = New-WindowsDiscoveryConfiguration -LdapQueryDiscoveryCriteria $ldapqueryCriteria
  然后我们再使用Start-Discovery来启动查询。整个查询的执行过程如下:

  接着我们再来看看如何配置设备的发现配置。大家可能会想在测试环境中又没有真实的网络设备,那怎么来测试这个命令呢?这里我们可以在Windows上安装SNMP组件来测试这个命令。当然SNMP服务是需要进行配置的(192.168.0.30是SCOM的RMS服务器):

  然后我们就来看看命令该怎么写:
  $networkdeviceclass = get-monitoringclass -name "System.NetworkDevice"
  首先是定义MonitoringClass对象
  $discoveryConfig = new-devicediscoveryconfiguration -monitoringclass `
  $networkdeviceclass -fromipaddress 192.168.0.1 -toipaddress 192.168.0.1
  然后还是定义发现配置,这里除了要设置刚才定义的MonitoringClass之外,然后还要设置要扫描的IP段。
  $encoding = new-object System.Text.UnicodeEncoding
  $encodedCommunityString = $encoding.GetBytes("Windows")
  $discoveryConfig.ReadOnlyCommunity = `
  [System.Convert]::ToBase64String($encodedCommunityString)
  最后我们要指定接受的社区名称,当然这里要注意要转换编码。
  接着我们还是使用Start-Discovery发起查询:
  Start-Discovery -DeviceDiscoveryConfiguration $discoveryConfig -ManagementServer $managementServer -Verbose
  最终如果一切设置配置正确的话,会返回以下结果:

  最后提醒一点,如果目标计算机已经安装了Agent了,那么他不会出现在结果列表中。
  本次介绍中,主要为大家介绍了,如何使用SCOM的PowerShell命令来发现需要管理的设备,在下次介绍中,我们将完成发现设备后的下一个操作,安装代理,还请各位期待,
  已发表 2011年5月31日 7:03 作者 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-561862-1-1.html 上篇帖子: 如何查看PowerShell版本号 下篇帖子: SCOM PowerShell 命令使用指南 - 06 (Agent)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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