2010-09-07 59 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