脚本远程控制IIS 7

时间:2010-09-13 09:50:43

标签: iis-7 powershell msbuild administration

我的服务器在Windows Server 2008,IIS 7上运行 我的客户端是Windows Server 2003或Windows XP。

我想远程启动/停止网站。
我很容易设法在我的客户端计算机上使用IIS 7管理器以交互方式进行(cf http://blogs.iis.net/bdela/archive/2007/10/08/remote-administration-managing-iis-7-rco-from-windows-xp-2k3-and-vista.aspx

但我希望以非交互方式来实现,目标是将其编写为msbuild脚本的一部分。

我尝试了MSBuildExtensionPack,但只有在客户端站点上安装IIS7时它才有效。 我尝试了PowerShell cmdlet,但我必须在服务器上启动dcom(http://learn.iis.net/page.aspx/160/writing-powershell-commandlets-for-iis-70/)。

我该怎么办?

2 个答案:

答案 0 :(得分:6)

如果您可以将客户端和服务器升级到PowerShell 2.0,则可以使用PowerShell远程处理和PowerShell 2.0的WebAdministration模块来执行此操作。首先,您需要在服务器PowerShell上启用远程处理(从提升的提示符开始):

PS> Set-ExecutionPolicy RemoteSigned
PS> Enable-PSRemoting -Force

然后在客户端计算机上执行以下命令:

PS> Invoke-Command servername {Import-Module WebAdministration; Stop-WebSite Foo}

答案 1 :(得分:0)

谢谢! Powershell 2.0做到了这一点。然而,你的命令似乎不起作用。

在服务器端我跑

PS> winrm quickconfig

在客户端我跑了

PS> Invoke-Command -computername servername -scriptblock {[system.reflection.assembly]::loadfrom("c:\windows\system32\inetsrv\microsoft.web.administration.dll");$server2 = New-object microsoft.web.administration.servermanager;$server2.Sites["Foo"].Stop()}

如:http://www.powershellcommunity.org/Default.aspx?tabid=55&EntryID=65

中所述
相关问题