2

これが機能しないものです

>dir IIS:\AppPools\ | % { dir IIS:\AppPools\$_.Name\WorkerProcesses }

より詳しい情報

Powershell を使用して、各アプリケーション プールの PID を取得したいと考えています。WMI を使用して以下のコマンドのような情報を取得できることは理解していますが、Powershell の WebAdministration モジュールを使用しようとしています。

WMI アプローチ (作業サンプル)

Get-WmiObject -NameSpace 'root\WebAdministration' -class 'WorkerProcess' -ComputerName 'host' | select AppPoolName, ProcessId | ft -a

AppPoolName                   ProcessId
-----------                   ---------
MSExchangePowerShellAppPool        5432
MSExchangeServicesAppPool          3604
MSExchangeOWAAppPool               7056
MSExchangeAutodiscoverAppPool      6012
DefaultAppPool                     3288
MSExchangeSyncAppPool              2944

Powershell アプローチ (動作しないサンプル.. ヘルプ!)

2 つのコマンドの出力を (おそらく 1 行として) 結合して、各アプリ プールの PID も取得するにはどうすればよいですか?

[PS] C:\Windows\system32>import-module WebAdministration
[PS] C:\Windows\system32>dir IIS:\AppPools

Name                     State        Applications
----                     -----        ------------
Classic .NET AppPool     Started
DefaultAppPool           Started      Default Web Site
                                      /Rpc
                                      /RpcWithCert
                                      /ArchiveProxy
MSExchangeAutodiscoverAp Started      /Autodiscover
pPool                                 /Autodiscover/bin
                                      /Autodiscover/help
MSExchangeECPAppPool     Started      /ecp
MSExchangeOWAAppPool     Started      /owa
                                      /owa/oma
                                      /ArchiveProxyOwa
MSExchangeOWACalendarApp Started      /owa/Calendar
Pool
MSExchangePowerShellAppP Started      /PowerShell
ool
MSExchangeServicesAppPoo Started      /EWS
l                                     /EWS/bin
MSExchangeSyncAppPool    Stopped      /Microsoft-Server-ActiveSync

結合したい 2 番目のクエリは次のとおりです。

[PS] C:\Windows\system32>dir IIS:\AppPools\DefaultAppPool\WorkerProcesses  | fl


processId : 3904
Handles   : 89516
state     : Running
StartTime : 2/19/2013 10:34:57 PM
4

1 に答える 1

2

必要なプロパティを展開するだけです:

dir IIS:\AppPools\ |select -expand name| % { dir IIS:\AppPools\$_\WorkerProcesses } 
于 2013-02-21T16:07:16.073 に答える