【问题标题】:Scripting remote control for IIS 7IIS 7 的脚本远程控制
【发布时间】:2010-09-13 09:50:42
【问题描述】:

我的服务器在 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/)。

我能做什么?

【问题讨论】:

    标签: iis-7 powershell msbuild administration


    【解决方案1】:

    如果您可以将客户端和服务器都升级到 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}
    

    【讨论】:

      【解决方案2】:

      谢谢! 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

      【讨论】:

        猜你喜欢
        • 2011-07-23
        • 2017-08-30
        • 2017-06-13
        • 1970-01-01
        • 2010-10-19
        • 2010-09-24
        • 1970-01-01
        • 2014-05-08
        • 1970-01-01
        相关资源
        最近更新 更多