# 宣告需要安裝的伺服器名稱陣列

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

相关文章