PowerShell查看進程的所屬用戶
適用于所有Windows PowerShell 版本
查看一個特定進程的所有者用戶是誰,有多少個改進程的實例,可以嘗試下面的代碼:
$ProcessName = 'explorer.exe'
(Get-WmiObject -Query "select * from Win32_Process where name='$ProcessName'").GetOwner().User
注意:有許多不同的途徑可以獲取當前登陸的用戶,但是由于你的操作系統(tǒng)版本的不同,所以方法不盡相同。如果使用圖形化用戶界面還好,但是如果是非用戶界面Core服務器,腳本可能不能檢測到當前連接主機的用戶。
上面的例子返回了所有的“explorer.exe”進程的所有者。如果你擁有管理員權(quán)限并且遠程登陸了,用戶列表中還會可能會包括非活動用戶。因為每個桌面上打開的 explorer.exe可能屬于不同的會話,不同的用戶。
如果使用了 Sort-Object 命令,可以非常容易排除重復項。
$ProcessName = 'explorer.exe'
(Get-WmiObject –Query "select * from Win32_Process where name='$ProcessName'").GetOwner().User |
Sort-Object -Unique
并且,如果你更改了要查看的進程的名稱,還會發(fā)現(xiàn)其它有趣的事情。下面的腳本會列出,當前通過PowerShell遠程管理連接到你機器的用戶:
$ProcessName = 'wsmprovhost.exe'
try
{
(Get-WmiObject -Query "select * from Win32_Process where name='$ProcessName'").GetOwner().User |
Sort-Object -Unique
}
catch
{
Write-Warning "沒有發(fā)現(xiàn)用戶."
}
相關(guān)文章
PowerShell中使用Get-EventLog讀取、篩選系統(tǒng)日志的例子
這篇文章主要介紹了PowerShell中使用Get-EventLog讀取、篩選系統(tǒng)日志的例子,比如按日志名稱、日志類型、時間的技巧,需要的朋友可以參考下2014-08-08Powershell展開對象數(shù)據(jù)結(jié)構(gòu)并以JSON格式輸出
這篇文章主要介紹了Powershell展開對象數(shù)據(jù)結(jié)構(gòu)并以JSON格式輸出,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-03-03powershell解決win10開始菜單和通知中心無法打開
這篇文章主要介紹了powershell解決win10開始菜單和通知中心無法打開的相關(guān)資料,需要的朋友可以參考下2015-10-10PowerShell中Get-Date對象的常用屬性和方法介紹
這篇文章主要介紹了PowerShell中Get-Date對象的常用屬性和方法介紹,一并介紹了看一個對象的所有屬性和方法的技巧,需要的朋友可以參考下2014-08-08PowerShell顯示隱藏文件和系統(tǒng)文件的方法
這篇文章主要介紹了PowerShell顯示隱藏文件和系統(tǒng)文件的方法,重點在于對文件、文件夾屬性的介紹,需要的朋友可以參考下2014-08-08