Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
Scripting 获取IIS应用程序池中的工作进程_Scripting_Iis 6_Wmi_Windows Server 2003_Windows Scripting - Fatal编程技术网

Scripting 获取IIS应用程序池中的工作进程

Scripting 获取IIS应用程序池中的工作进程,scripting,iis-6,wmi,windows-server-2003,windows-scripting,Scripting,Iis 6,Wmi,Windows Server 2003,Windows Scripting,我正在寻找一种方法来枚举应用程序池中的虚拟目录(Windows Server 2003),并获取诊断数据(特别是工作集、专用字节和虚拟字节) 关于如何枚举服务器的应用程序池以及如何获取其中的虚拟目录,我已经找到了很多,但是为了获取诊断数据,我需要做些什么呢 基本上,我想添加一个脚本,为监控应用程序(NAGIOS)获取这些数据。我们有一个脚本,它已经捕获了服务器上运行的前2个工作进程,但我们不知道它们属于哪个应用程序池 谢谢。正如您所发现的,这是一个分为两步的过程:您需要查找每个工作进程的资源利用

我正在寻找一种方法来枚举应用程序池中的虚拟目录(Windows Server 2003),并获取诊断数据(特别是工作集、专用字节和虚拟字节)

关于如何枚举服务器的应用程序池以及如何获取其中的虚拟目录,我已经找到了很多,但是为了获取诊断数据,我需要做些什么呢

基本上,我想添加一个脚本,为监控应用程序(NAGIOS)获取这些数据。我们有一个脚本,它已经捕获了服务器上运行的前2个工作进程,但我们不知道它们属于哪个应用程序池


谢谢。

正如您所发现的,这是一个分为两步的过程:您需要查找每个工作进程的资源利用率,还需要知道每个工作进程对应的应用程序池

你已经猜出了第一部分。下面是如何完成另一部分:在WindowsServer2003中,WindowsServer2003中提供了一个名为
iisapp.vbs
的命令行脚本。有关更多详细信息,请参阅。此命令行工具的输出如下所示:

W3wp.exe PID: 2232 AppPoolID: DefaultAppPool
W3wp.exe PID: 2608 AppPoolID: MyAppPool
只需解析此脚本的输出,就可以将进程ID绑定到应用程序池。然后按ID查找每个进程,或筛选枚举进程的现有列表以找到匹配的进程ID

在安全性和所需的特定IIS配置方面也可能存在其他限制。请参阅上面的文档链接

请注意,Windows Server 2008使用不同的命令,
appcmd list wp
,并且具有不同的输出格式,因此此解决方案特定于Windows Server 2003