首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为IIS 7编写远程控制脚本

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

Stack Overflow用户
提问于 2010-09-13 09:50:42
回答 2查看 3.2K关注 0票数 2

我的服务器运行在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。

我能做什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-13 14:42:50

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

代码语言:javascript
复制
PS> Set-ExecutionPolicy RemoteSigned
PS> Enable-PSRemoting -Force

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

代码语言:javascript
复制
PS> Invoke-Command servername {Import-Module WebAdministration; Stop-WebSite Foo}
票数 6
EN

Stack Overflow用户

发布于 2010-09-14 14:38:59

谢谢!Powershell 2.0做到了这一点。尽管如此,你的命令似乎行不通。

在服务器端我运行

代码语言:javascript
复制
PS> winrm quickconfig

在客户端我跑了

代码语言:javascript
复制
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中所述

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3699320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档