遠程重啟IIS服務


 

方法一:

1 $UserName = "administrator"
2 $serverpass = "pass"
3 $server = "10.4.19.60"
4 $Password = ConvertTo-SecureString $serverpass -AsPlainText –Force
5 $cred = New-Object System.Management.Automation.PSCredential($UserName,$Password)
6 
7 Invoke-Command -ComputerName $server -ScriptBlock { iisreset } -Credential $cred

 該方法在重啟Windows Server 2003上的IIS服務時,會出現如下錯誤信息:

 但是在重啟Windows Server 2012 R2上的IIS服務時,可以成功,應該是與PS版本有關

方法二:

 

IISRESET.exe remotename /restart

 #需要本地和遠程計算機上都安裝有IIS組件,如果不安裝IIS,則無法使用 iisreset.exe 命令

 

方法三:

1 (Get-WmiObject Win32_Service -ComputerName ServerName -Filter "Name='iisadmin'").InvokeMethod("StopService", $null) 
2 Start-Sleep -Seconds 5
3 (Get-WmiObject Win32_Service -ComputerName ServerName -Filter "Name='iisadmin'").InvokeMethod("StartService", $null) 
 

除此應該還需要重啟www服務,未測試。

方法四:

for IIS v6

$srv = "Server Name or IP Address"
$app = "Name of App Pool"
$x = get-wmiobject -namespace "root\MicrosoftIISv2" -class "IIsApplicationPool" -ComputerName $srv -Authentication PacketPrivacy | where-object {$_.Name -eq "W3SVC/AppPools/$app"}
$x.Stop()
$x.Start()

for IIS v7

$srv = "Server Name or IP Address"
$app = "Name of App Pool"
$x = Get-WMIObject -Namespace "root\webAdministration" -Class "ApplicationPool" -ComputerName $srv -Authentication PacketPrivacy | Where-Object {$_.Name -eq $app}
$x.Stop()
$x.Start()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM