[Powershell] Install Windows-Feature on Remote Multiple computers
# 宣告需要安装的伺服器名称阵列
$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需事先安装远端管理套件)