gpt4 book ai didi

powershell - 如何从PowerShell中的过程数据列表中获取单个过程数据

转载 作者:行者123 更新时间:2023-12-02 23:54:27 25 4
gpt4 key购买 nike

我在PowerShell中使用以下脚本获取进程名称,用户名,进程时间

$owners = @{}
gwmi win32_process |% {$owners[$_.handle] = $_.getowner().user}
$data = @{}
get-process | select processname,Id,PrivilegedProcessorTime,UserProcessorTime,@{l="Owner";e={$owners[$_.id.tostring()]}}

它给数据为
ProcessName             : UpdaterUI
Id : 6824
PrivilegedProcessorTime : 00:00:04.6332297
UserProcessorTime : 00:00:04.1964269
Owner : VM82958

我想获取单个过程的数据,我尝试了以下代码
foreach($val in $data) { 
$processname = $val.ProcessName
$processname = $val.Owner
$processname = $val.PrivilegedProcessorTime
$processname = $val.UserProcessorTime

}

但是我没有得到任何信息。谁能帮助我如何获取单个过程数据以及PrivilegedProcessorTime,UserProcessorTime数据的信息,总计TotalMilliseconds。

最佳答案

你快到了。只需将结果分配给$data:

$owners = @{}
gwmi win32_process |% {$owners[$_.handle] = $_.getowner().user}
$data = get-process | select processname,Id,PrivilegedProcessorTime,UserProcessorTime,@{l="Owner";e={$owners[$_.id.tostring()]}}

在第一个示例中,您将填充哈希表 $ownersForEach-Object管道中(别名 %)。而您不会在任何地方填充 $data

关于powershell - 如何从PowerShell中的过程数据列表中获取单个过程数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48740676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com