PowerShell查看进程的所属用户
2014-12-20 12:29
1326 查看
适用于所有Windows PowerShell 版本
查看一个特定进程的所有者用户是谁,有多少个改进程的实例,可以尝试下面的代码:
$ProcessName = 'explorer.exe'
(Get-WmiObject -Query "select * from Win32_Process where name='$ProcessName'").GetOwner().User
注意:有许多不同的途径可以获取当前登陆的用户,但是由于你的操作系统版本的不同,所以方法不尽相同。如果使用图形化用户界面还好,但是如果是非用户界面Core服务器,脚本可能不能检测到当前连接主机的用户。
上面的例子返回了所有的“explorer.exe”进程的所有者。如果你拥有管理员权限并且远程登陆了,用户列表中还会可能会包括非活动用户。因为每个桌面上打开的 explorer.exe可能属于不同的会话,不同的用户。
如果使用了 Sort-Object 命令,可以非常容易排除重复项。
$ProcessName = 'explorer.exe'
(Get-WmiObject –Query "select * from Win32_Process where name='$ProcessName'").GetOwner().User |
Sort-Object -Unique
并且,如果你更改了要查看的进程的名称,还会发现其它有趣的事情。下面的脚本会列出,当前通过PowerShell远程管理连接到你机器的用户:
$ProcessName = 'wsmprovhost.exe'
try
{
(Get-WmiObject -Query "select * from Win32_Process where name='$ProcessName'").GetOwner().User |
Sort-Object -Unique
}
catch
{
Write-Warning "没有发现用户."
}
相关文章推荐
- PowerShell中显示进程所属用户
- 在FreeBSD中查看某个用户运行进程情况的脚本
- 查看数据库里用户,进程,锁的信息并且如何杀死他们
- Linux 查看某个用户的进程
- Ubuntu下查看所有登陆用户及其进程id
- 使用ps查看用户进程下的线程运行情况(AIX)
- 利用wc -l统计行数功能查看某用户启动的进程
- windows驱动里通过进程ID获得进程名和所属用户
- Linux下的用户、进程的调配与查看
- POSTGRESQL 查看用户使用情况以及杀掉相应的进程
- Oracle 10g如何查看修改连接数,进程数及用户数,三者之间有什么关系?
- linux 查看其他用户启动的进程
- asp查看系统用户和进程的代码
- Linux下的用户、进程的调配与查看
- linux查看用户进程端口信息
- [转]查看数据库里用户,进程,锁的信息并且如何杀死他们
- oracle用户查看用户所属的默认表空间
- Linux查看用户所属的组
- linux下查看TCP端口所属进程/线程
- AIX详细查看用户/进程使用内存