最近根據專案需要寫了一段power shell的程式碼 ,主要功能是批量重啟IIS 具體的 Power shell 服務如下:
write-output 'Restarting IIS servers ................ '
$servers= 'server1' ,'Server2'
$username='使用者名稱'
$password = ConvertTo-SecureString -String '密碼' -AsPlainText -Force
$credential =New-Object System.Management.Automation.PSCredential -argumentlist $username ,$password
foreach($server in $servers){
$message= 'Restarting IIS server : '+$server
write-output $message
$sessions=New-PSSession -ComputerName $server -credential $credential
Invoke-Command –Session $sessions -scriptBlock {restart-Service w3svc}
$message= 'IIS server Restarted : '+$server
write-output $message
}
write-output 'IIS servers Restarted ...................'
系統執行的邏輯是:
1用$credential =New-Object System.Management.Automation.PSCredential -argumentlist $username ,$password登入到遠端伺服器上
2 運用命令Invoke-Command –Session $sessions -scriptBlock {restart-Service w3svc} 逐個重啟IIS Server