2010-09-07 125 views
1

我有多個服務器需要重新啓動IISADMIN服務。我需要遠程執行此操作,因此我有要求憑據的代碼。但是,當我到達停止並重新啓動它的時候,由於依賴服務而失敗。我正在嘗試使用IISRESET/STOP,但無法啓動它的功能。如何使用powershell停止/啓動IISADMIN

任何建議將不勝感激。如果您需要查看代碼,請告訴我。

謝謝!

回答

2

如果您有PowerShell 2.0可用,我將使用它的遠程處理功能。您還必須管理員才能使用iisreset(至少在Vista/WinServer 2008及更高版本上)。幸運的是,PowerShell遠程處理可以解決這個問題(需要您也是管理員)。 :-)使用PowerShell 2.0我會嘗試這樣的事:

$cred = Get-Credential 
Invoke-Command server1,server2,server3 -ScriptBlock { iisreset.exe /restart } ` 
       -cred $cred 

如果iisreset.exe仍不能正常工作嘗試PowerShell的Restart-Service在它的地方:

Restart-Service w3svc -Force 

但首先你必須有PowerShell 2.0中每個遠程機器上,並通過命令使每個遠程機器上遠程:

Set-ExecutionPolicy RemoteSigned 
Enable-PSRemoting -Force 

如果你不能在遠程計算機上做的PowerShell 2.0 ,你總是可以使用psexec.exe

+0

PowerShell遠程調用不需要iis運行嗎?當我嘗試「調用命令... iisreset」時,我收到一個令人討厭的錯誤,說WinRM沒有運行。 – 2011-09-05 09:42:38