您的位置:首页 > 运维架构 > Shell

SCOM PowerShell 命令使用指南 - 06 (Agent)

2011-06-26 10:38 495 查看
在上一篇Blog中,我们看到了如何使用名词部分为Discovery的命令来查找目标计算机,今天要看到的就是找到计算机后的下一个动作,为目标计算机安装代理。那么大家也能很快想到命令的名词一定包含Agent。因此先来看第一个命令Get-Agent,该命令的作用很简单,列出当前所有安装Agent的计算机。



接下来来看看怎么样安装Agent,不过这里我先介绍如何卸载。卸载完成之后,我们再结合上次讲到的客户端发现命令来进行安装。卸载命令很简单,我们先用Get-Agent命令找到想要卸载代理的计算机,然后直接通过管道传递给Uninstall-Agent即可。具体命令如下:
Get-Agent | ?{$_.Name -eq "CNSHSQLSVR01.corp.contoso.com"} | Uninstall-Agent -Verbose
稍等片刻之后,命令便执行完成了:



接下来我们在针对这台刚卸载Agent的计算机重新安装一下Agent,首先我们要做的就是执行发现命令,然后根据发现的结果进行安装:
$managementServer = Get-RootManagementServer
$discoveryConfig = New-WindowsDiscoveryConfiguration -ComputerName "cnshsqlsvr01" -PerformVerification -ComputerType Server -ActionAccountCredential (Get-Credential corp\administrator)
$discoveryResult = Start-Discovery -WindowsDiscoveryConfiguration $discoveryConfig -ManagementServer $managementServer -Verbose
install-agent -managementserver $managementServer -agentmanagedcomputer $discoveryResult.custommonitoringobjects -Verbose



命令的运行结果也是在情理之中的。这里如果大家不习惯这种方式来进行安装的话,也可以通过Install-AgentByName这个命令来进行安装。Install-AgentByName使用起来很简单,直接在Name参数后跟上目标计算机名即可:
Install-AgentByName -Name:"dc.contoso.com"
接下来我们再来看看Set-ProxyAgent命令。大家都知道在SCOM的管理模型中,目标计算机可以通过两种方式来管理,一种是安装Agent,另一种是启用Agent上的代理选项,允许远程计算机或者设备进行连接。而Set-ProxyAgent命令的作用就是为远程计算机或设备指定相应的代理。这里我们暂且延后这个命令的介绍,因为等下会涉及到和远程管理有关的命令。这里大家要明确一点,这个命令不是用来启用Agent上的代理选项的(Allow this agent act as a proxy and discover managed objects on other computers)。那么大家一定会问这个选项如何通过PowerShell来启用呢?其实很简单,虽然没有现成的命令来设置,但是我们可以修改Agent对象的ProxyingEnabled属性来达到目的。具体命令如下:
(Get-Agent | ?{$_.ComputerName -eq "CNSHSQLSVR01"}).ProxyingEnabled = $true
(Get-Agent | ?{$_.ComputerName -eq "CNSHSQLSVR01"}).ApplyChanges()
这里需要注意一点的是,属性修改完成之后需要调用对象的ApplyChanges方法来保存修改。修改完成之后我们可以通过命令或者图形界面来确认。



大家都知道,在默认设置下,SCOM不会监视手动安装的Agent,凡是手动安装的Agent都需要管理员进行审批,这里的手动安装包括之前我们介绍的用Install-Agent命令进行的安装。当然SCOM可以配置成自动批准所有手动安装的Agent。但有些环境下可能不允许这样设置,管理员需要对Agent进行手动审批。那么我们可以命令行中使用名词部分是AgentPendingAction的命令来进行管理。首先我们可以使用Get-AgentPendingAction来看下目前带审批的Agent列表。



接下来我们就可以将对象通过管道传递给Approve-AgentPendingAction或者Reject-AgentPendingAction来进行审批操作了。这里我将演示Reject-AgentPendingAction,具体过程如下图所示:



最后我们要介绍下之前跳过的Get-PrimaryManagementServer,Get-GatewayManagementServer,Get-FailoverManagementServer和Set-ManagementServer这四个命令。首先Get-PrimaryManagementServer可以获得Agent默认连接到的管理服务器,Get-GatewayManagementServer则用来获得作为网关的管理服务器,而Get-FailoverManagementServer则用来获得当PrimaryManagementServer发生故障后,Agent用来进行连接的故障转移管理服务器。接下来我们来看下如何使用Set-ManagementServer命令来调整一个Agent的首要管理服务器和故障转移服务器。



这里主要给大家演示就是将代理CNSHSQLSVR01的PrimaryManagementServer和FailoverServer的服务器进行互换。
本次名词部分是Agent的命令就介绍到这里了,下次将要介绍的是和另一种管理模式Agentless有关的命令,敬请期待。
已发表 2011年6月20日 21:03 作者 ghjconan
归档在:SCOM, PowerShell, OpsMgr
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  计算机 休闲 image