【问题标题】:CPU, Disk and Memory Usage of Process Per User每个用户进程的 CPU、磁盘和内存使用情况
【发布时间】:2016-02-16 10:21:17
【问题描述】:

我一直在网上搜索我的问题的答案,但我只能找到一些部分解决方案。

基本上,我希望得到一个文本、csv 等文件,其中包含每个用户进程的 cpu、磁盘 i/o 和内存使用情况(甚至可能是网络)。使用 PowerShell 获取每个进程的使用情况有很多结果,但我想更深入地查看每个用户的使用情况。

Windows 任务管理器(至少在 8 和 10 中)在“用户”选项卡下几乎完全按照我的需要显示此信息。

谁能帮助我开始在 PowerShell 中编写脚本?

【问题讨论】:

  • 您可以使用相同的方法来获取内存/cpu使用情况,只需按用户过滤即可,例如win32_processGetOwner()方法

标签: windows powershell cmd


【解决方案1】:

这是我正在使用的代码。当我在一两分钟后运行此脚本时,它返回一个错误,提示找不到 $.GetOwner(),在另一行中,它给了我用户名,该用户名比其他人更能利用内存,但计算不正确时我将它与 TaskManager 用户的选项卡进行比较。

$h = @{}
get-wmiobject win32_process | foreach { 
    $u = $_.getowner().user;
    if ( $u -ne $null)
    {
        if ( !$h.ContainsKey($u)  )
        {
            $h.add( $u, $_.WS);
        } 
        else 
        { 
            $h.item($u) = $h.item($u) + $_.WS;
        } 
    }
}  
$h.GetEnumerator() | sort value -desc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-20
    • 2011-03-25
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 1970-01-01
    相关资源
    最近更新 更多