You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PowerShell获取组件服务的运行进程及PID

获取COM+应用的运行状态与PID

要获取COM+应用的运行状态和对应进程PID,你需要在现有代码基础上,借助COM Admin对象的**"RunningApplications"**集合获取运行中组件的信息,再与已安装应用做关联匹配。

完整PowerShell代码

# 初始化COM Admin对象
$comAdmin = New-Object -ComObject COMAdmin.COMAdminCatalog

# 获取已安装的COM+应用集合
$installedApps = $comAdmin.GetCollection("Applications")
$installedApps.Populate()

# 获取当前运行中的COM+应用集合
$runningApps = $comAdmin.GetCollection("RunningApplications")
$runningApps.Populate()

# 遍历已安装应用,匹配运行状态和PID
foreach ($app in $installedApps) {
    $appName = $app.Name
    # 查找对应的运行中应用
    $runningApp = $runningApps | Where-Object { $_.Name -eq $appName }
    
    $status = if ($runningApp) { "运行中" } else { "未运行" }
    $pid = $runningApp.ProcessID -as [int]
    
    [PSCustomObject]@{
        应用名称 = $appName
        状态     = $status
        PID      = if ($pid) { $pid } else { "-" }
    }
}

关键说明

  • RunningApplications集合:该集合专门存储当前处于运行状态的COM+应用,包含ProcessID(即PID)、Name等核心字段。
  • 关联匹配:通过应用名称将已安装应用与运行中应用关联,以此判断每个应用的运行状态并提取对应PID。
  • 类型转换:ProcessID返回的是字符串类型,转换为整数类型可提升可读性。

内容的提问来源于stack exchange,提问作者Marab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 16:22:02