我的服务器运行在windows server 2008 IIS 7上。
我的客户是Windows server 2003或Windows。
我想远程启动/停止网站。
我很容易就能在我的客户端计算机上使用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,但我必须在服务器(http://learn.iis.net/page.aspx/160/writing-powershell-commandlets-for-iis-70/ )上启动dcom。
我能做什么?
发布于 2010-09-13 14:42:50
如果您可以将客户端和服务器升级到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}发布于 2010-09-14 14:38:59
谢谢!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中所述
https://stackoverflow.com/questions/3699320
复制相似问题