powershell - 获取 PID 的用户名(ProcessId)
问题描述
我有一个 PID,我想检查它的用户名。我知道我们可以使用GetOwner()
,但它是有效的方法Get-WmiObject Win32_Process
。我正在使用Get-WmiObject -Class Win32_PerfRawData_PerfProc_Process
无法获取用户名的方法(根据我在线搜索)。所以,我认为单独检查 PID 是解决这个问题的唯一方法。
你能告诉我如何获得PID的用户名或里面的用户名Win32_PerfRawData_PerfProc_Process
吗?
解决方案
正如这篇技术网文章中所述:Technet,您可以使用下面的代码。
在最后一行中,您可以将所需的进程放在 get-process 命令之后。
例如Get-Process outlook | select processname,Id,@{l="Owner";e={$owners[$_.id.tostring()]}}
$owners = @{}
gwmi win32_process |% {$owners[$_.handle] = $_.getowner().user}
Get-Process | select processname,Id,@{l="Owner";e={$owners[$_.id.tostring()]}}
所需时间取决于当前正在运行的服务数量。您的输出将如下所示:
ProcessName Id Owner
----------- -- -----
OUTLOOK 13128 UserName
希望有帮助。亲切的问候。
推荐阅读
- java - 如何在流口水中增加对象字段
- php - PHP方法确定注册的总课程单元是否不超过限制单元
- python - Bin bash:使用给定的 sh 文件参数启动 python 文件
- asp.net - 当前上下文中不存在名称“FormulaIngredents”?
- reactjs - ReactJS 输出控制台日志重复
- visual-studio-code - VSCode Live Share:为两个参与者运行电子应用程序
- sed - 命令错误 - Windows 10 上的 SED (GnuWin)
- mysql - 导入到 mysql 时,服务器将字段从 csv 剪切到字符串的前 50 个字符
- python - Python 中的 IQ 测试功能未按预期工作
- mysql - mysql替换选择联合故障