[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需事先安裝遠端管理套件)