是否可以使用命令或 PowerShell 获取 Windows 远程桌面会话主机上运行的进程的每个用户数量?我想要定位运行进程数量高于 X 的用户并在此基础上执行后续操作。
答案1
这可以通过 Powershell 轻松完成。首先,您需要获取 RDS 主机上除系统进程之外的所有进程(例如,我排除了 NT AUTHORITY\SYSTEM,您可能想要更多)。然后检查唯一用户并计算每个用户正在运行的进程。
$pr = Get-Process -IncludeUserName | sort username | where {$_.username -ne "NT AUTHORITY\SYSTEM"}
$users = $pr.Username | Get-Unique
foreach ($user in $users) {
$count = (Get-Process -IncludeUserName | where {$_.username -eq $user}).count
if ($count -gt 50) {"User $user has $count processes running"}
}
希望有所帮助。