每个用户进程的CPU,磁盘和内存使用情况

时间:2016-02-16 10:21:17

标签: windows powershell cmd

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

基本上,我想最终得到一个text,csv等文件,其中包含每个用户的进程的cpu,磁盘i / o和内存使用情况(甚至网络)。使用PowerShell获得每个进程的使用有很多结果,但我想更深入地了解每个用户也是如此。

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

任何人都可以帮助我开始在PowerShell中编写脚本吗?

1 个答案:

答案 0 :(得分:2)

这是我正在使用的代码。当我在一两分钟后运行这个脚本它返回一个错误,表示找不到$ .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