Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iis 7 为IIS 7编写远程控制脚本_Iis 7_Powershell_Msbuild_Administration - Fatal编程技术网

Iis 7 为IIS 7编写远程控制脚本

Iis 7 为IIS 7编写远程控制脚本,iis-7,powershell,msbuild,administration,Iis 7,Powershell,Msbuild,Administration,我的服务器正在windows server 2008 IIS 7上运行。 我的客户端是Windows server 2003或Windows XP 我想远程启动/停止网站。 在我的客户机(cf)上使用IIS 7管理器轻松地以交互方式完成此任务 但是我想以一种非交互式的方式来完成它,目标是将其作为msbuild脚本的一部分编写脚本 我尝试了MSBuildExtensionPack,但它只有在客户端站点上安装IIS7时才能工作。 我尝试了powershell cmdlet,但必须在服务器()上启动d

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

我想远程启动/停止网站。
在我的客户机(cf)上使用IIS 7管理器轻松地以交互方式完成此任务

但是我想以一种非交互式的方式来完成它,目标是将其作为msbuild脚本的一部分编写脚本

我尝试了MSBuildExtensionPack,但它只有在客户端站点上安装IIS7时才能工作。 我尝试了powershell cmdlet,但必须在服务器()上启动dcom


我能做什么?

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

然后在客户端计算机上执行以下操作:

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

谢谢!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()}
如中所述:

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()}