到目前为止,我使用这个工具来判断哪个 w3wp 属于哪个应用程序池
c:\windows\system32\cscript iisapp.vbs
如何使用 Powershell 提取相同的信息? 或者也许会得到更多信息丰富的结果。
谢谢:)
最佳答案
这绝不是唯一的方法,但这是我使用的一种方法。这是针对 PS v1 的,一些代码可以针对 V2 进行优化。
function get-apppools{
[regex]$pattern="-ap ""(.+)"""
gwmi win32_process -filter 'name="w3wp.exe"' | % {
$name=$_.name
$cmd = $pattern.Match($_.commandline).Groups[1].Value
$procid = $_.ProcessId
New-Object psobject | Add-Member -MemberType noteproperty -PassThru Name $name |
Add-Member -MemberType noteproperty -PassThru AppPoolID $cmd |
Add-Member -MemberType noteproperty -PassThru PID $procid
}
}
输出:
PS C:\Documents and Settings\jpogran> get-apppools
Name AppPoolID PID
---- --------- ---
w3wp.exe SharePoint - 9090 6988
w3wp.exe SharePoint - 80 6364
w3wp.exe foo.bar.net 4720
w3wp.exe SharePoint Central Administration v3 7960
w3wp.exe SharePoint - 8181 7756
iisapp 脚本显示如下:
PS C:\Documents and Settings\jpogran> iisapp
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
W3WP.exe PID: 6988 AppPoolId: SharePoint - 9090
W3WP.exe PID: 6364 AppPoolId: SharePoint - 80
W3WP.exe PID: 4720 AppPoolId: foo.bar.net
W3WP.exe PID: 7960 AppPoolId: SharePoint Central Administration v3
W3WP.exe PID: 7756 AppPoolId: SharePoint - 8181
PS C:\Documents and Settings\jpogran>
关于powershell - IIS6中哪个w3wp.exe进程属于哪个应用程序池(使用powershell),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2855978/