asp学习网: 首页 >> IIS教程 >> iis配置 >> 远程回收应用程序池

远程回收应用程序池

问:

我需要在 Windows Server 2003 和 IIS 6.0 环境中,远程回收应用程序池。但找不到一种不用在服务器上输入应用程序池或使用远程控制台会话的简单方法。能否通过远程方式来实现?如果可以的话,您们有没有介绍这方面功能的技术文档?

答:

 

这个问题问得很好,客户也经常向 Microsoft 提出这个问题。简短的回答为:是的,可以通过远程访问来实现。但是,如果您正在 Windows Server 2003 RTM 版本上运行 IIS 6.0 的话,要想了解具体的解答,就需要一点有关脚本方面的知识。

需要您在本地执行的脚本包含在Windows Server 2003 Service Pack 1中,不过也可以通过 Microsoft 下载中心来获取。

在本地使用的命令行语法为:

iisapp /p <PID> /r

例如,要是 w3wp 进程为 Process ID (PID) 1234,那么发出的命令为:

iisapp.vbs /p 1234 /r

图 1 列举了另一个例子。


图 1:使用 iisapp 回收应用程序池

 

您也可以通过使用 /a 替代 /p 开关,来使用应用程序池的友好名称,而不是 PID。

可以通过键入以下命令,使用 iisapp.vbs 的命令行帮助,查看所有开关及选项:

iisapp.vbs /?

然而,iisapp.vbs 命令行工具不支持计算机的远程连接。

假如您熟悉脚本开发,那么就可以使用 Windows Management Instrumentation (WMI) 脚本或 Active Directory Services Instrumentation (ADSI),解决这个问题。上述技术在 MSDN 中有详细的文档介绍,并且您可以使用 IIS 提供程序,连接并回收应用程序池。

譬如,这里有一个简单的脚本,不包含任何错误检查或对话框。同时,也不接受任何开关。但是,若在其中提供了以下信息后,该脚本就能让您通过远程方式,回收应用程序池:

1.

目标服务器名称 (strServer)

2.

目标服务器用户名 (strUsername)

3.

目标服务器用户密码 (strPassword)

4.

应用程序池名称

我希望这个示例脚本能让您迈出第一步,实现对运行在远程 IIS 6.0 服务器上的工作进程进行回收:

strServer = "MyServer" //Replace this with the target server name
strUser = "Administrator" //Provide Administrator privilege credentials
strPassword = "password" //Input Administrator privileged account password
Set LocatorObj = CreateObject("WBemScripting.SWbemLocator")
LocatorObj.Security_.ImpersonationLevel = 3        Impersonate
LocatorObj.Security_.AuthenticationLevel = 6        Pkt Privacy (required for remote administration over WMI as of Win2k3 SP1)
Set ProviderObj = LocatorObj.ConnectServer(strServer, "root/MicrosoftIISv2", strUser, strPassword)
Set MyAppPool = ProviderObj.Get( "IIsApplicationPool=w3svc/apppools/DefaultAppPool" MyAppPool.Recycle

IIS SDK 提供了相关的详细信息,可帮助您编写可远程连接到 IIS 服务器的脚本。该 SDK 的地址为:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/d5a92c2b-c860-48ac-b406-e33ab4ac4e6e.asp.

顺便提一下,Windows Server 2003 Service Pack 1 (SP1) 附带的 iisapp.vbs 文件很容易就可以复制到 Windows Server 2003 RTM 版本中。RTM 与 Service Pack 1 在核心服务器功能上并无二异,不会导致该脚本失效。不过,此脚本无法用于低于 IIS 6.0 的版本。

from:asp学习网/title:远程回收应用程序池/ time:2006-12-16 16:04:16

本文主题远程回收应用程序池

asp教程 ©2006-2007 aspxuexi.com | 关于站点 | 版权隐私 | 站内搜索
复制或者翻版 请于夜间进行