如何通过Powershell获取组件服务的“运行进程”?
看这张图:
在这张图中,您可以看到 Trip1 正在运行,其 PID id 位于后面(本例中为 39808)。 我想通过 Powershell 检索此号码,但不知道如何操作。
找到的获取 COM+ 应用程序的代码是:
$comAdmin = New-Object -comobject COMAdmin.COMAdminCatalog
$apps = $comAdmin.GetCollection("Applications")
$apps.Populate()
变量“$apps”为我提供了已安装的组件。
但是如何知道定义的组件是否正在运行呢?那么如何获得该PID?
Applications
集合包含在计算机上注册的所有应用程序,而不仅仅是正在运行实例的应用程序。
ApplicationInstances
集合:
$comAdmin = New-Object -comobject COMAdmin.COMAdminCatalog
$apps = $comAdmin.GetCollection("Applications")
$apps.Populate()
$appInstances = $comAdmin.GetCollection("ApplicationInstances")
$appInstances.Populate()
foreach ($appInstance in $appInstances) {
# identify the associated application
$appKey = $appInstance.Value('Application')
$appName = ($apps |Where-Object Key -eq $appKey).Name
# output along with hosting process id
[pscustomobject]@{
ApplicationName = $appName
ProcessId = $appInstance.Value('ProcessID')
}
}