# 宣告需要安装的伺服器名称阵列

$servers = ('ServerA','ServerB','ServerC','ServerD')

# 登入帐号角色变数

$credential = Get-Credential -Credential .\administrator
ForEach ($server in $servers) {

#以安装SNMP Service为例

#$check 检查安装状况
$check = Get-WindowsFeature -Name SNMP-Service -ComputerName $server

#判断若未安装则实施invoke远程登入安装
if ($check.installed -ne "$true") {
Invoke-Command -ComputerName $server -Credential $credential -ScriptBlock {Install-WindowsFeature -Name SNMP-Service}
Invoke-Command -ComputerName $server -Credential $credential -ScriptBlock {New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\PermittedManagers -Name 2 -Value "10.4.16.211"}
Invoke-Command -ComputerName $server -Credential $credential -ScriptBlock {New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities -Name "5j/8" -Value "4" -PropertyType DWORD -Force | Out-Null} 
Invoke-Command -ComputerName $server -Credential $credential -ScriptBlock {Restart-Service -Name SNMP} 
}
ELSE {
$server + " OK" >> C:\log.txt
}

#Enter-PSSession -ComputerName $server -Credential $credential

}

 

~~~~~~~~~

以上程式 适用 Windows Server 2012以上 (Windows Server 2008需事先安装远端管理套件)

相关文章