PowerShell查看进程的所属用户

所属分类: 脚本专栏 / PowerShell 阅读数: 876
收藏 0 赞 0 分享

适用于所有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使用小技巧分享

本文给大家汇总了几个平时经常能够用到的PowerShell使用小技巧,包括修改Host文件、方法调用、查看powershell版本,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

PowerShell时间记录脚本

这篇文章主要介绍了PowerShell时间记录脚本的相关资料,非常简单实用,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell中的加法运算详解

这篇文章主要介绍了PowerShell中的加法运算详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell打开或关闭光驱

这里给大家分享的是使用PowerShell实现打开或关闭光驱的小程序,大家也许根本用不到,这里只是个例子,让大家学习下如何操作windows API
收藏 0 赞 0 分享

浅谈PowerShell 捕获错误

这篇文章主要介绍了PowerShell脚本trap语句捕获错误的写法实例,包含几个代码实例,需要的朋友可以参考。
收藏 0 赞 0 分享

PowerShell中实现播放WAV音频文件

这篇文章主要介绍了PowerShell中实现播放WAV音频文件,本文直接给出实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell实现从注册表获取本地关联文件的扩展名

这篇文章主要介绍了Powershell实现从注册表获取本地关联文件的扩展名,本文直接给出实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell实现从注册表获取用户配置脚本分享

这篇文章主要介绍了Powershell实现从注册表获取用户配置脚本分享,本文直接给出实现脚本源码,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell脚本中包含文件资源的例子

这篇文章主要介绍了Powershell脚本中包含文件资源的例子,本文直接给出示例代码,本文脚本代码适应Powershell3.0及以后版本,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell中Finally语句用法示例

这篇文章主要介绍了Powershell中Finally语句用法示例,本文用一个播放音乐的脚本为例子,使用Finally语句在异常结束操作时执行清理操作,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多