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

如何获取进程的StartInfo属性?343个进程均无该属性

获取PowerShell进程StartInfo的方法

你遇到的情况是因为Get-Process返回的System.Diagnostics.Process对象默认不会自动加载StartInfo属性——这个属性需要额外调用系统接口去获取,而且受权限、进程类型限制,很多进程无法成功读取该属性。

下面是两种可行的解决方式:

方法一:通过CIM获取进程启动信息(推荐)

使用Get-CimInstance调用Win32_Process类,可以直接拿到进程的启动命令行、执行路径等信息,这些内容对应StartInfo里的核心字段,且兼容性更好:

Get-CimInstance Win32_Process | Select-Object Name, ExecutablePath, CommandLine

其中CommandLine包含了进程启动时的完整命令(可执行文件路径+参数),ExecutablePath对应StartInfo.FileName。

方法二:手动刷新Process对象的StartInfo属性

如果一定要使用Process对象的StartInfo,可以手动调用Refresh()方法尝试加载,但注意很多进程会因权限不足或系统限制无法获取,需要捕获异常:

Get-Process | ForEach-Object {
    try {
        $_.Refresh()
        # 检查FileName是否有效,避免返回空的StartInfo
        if (-not [string]::IsNullOrEmpty($_.StartInfo.FileName)) {
            $_ | Select-Object Name, @{Name='StartInfo'; Expression={$_.StartInfo}}
        }
    }
    catch {
        # 忽略无法访问的进程
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 03:59:52