PowerShell查看進程的所屬用戶
適用于所有Windows PowerShell 版本
查看一個特定進程的所有者用戶是誰,有多少個改進程的實例,可以嘗試下面的代碼:
$ProcessName = 'explorer.exe'
(Get-WmiObject -Query "select * from Win32_Process where name='$ProcessName'").GetOwner().User
注意:有許多不同的途徑可以獲取當(dāng)前登陸的用戶,但是由于你的操作系統(tǒng)版本的不同,所以方法不盡相同。如果使用圖形化用戶界面還好,但是如果是非用戶界面Core服務(wù)器,腳本可能不能檢測到當(dāng)前連接主機的用戶。
上面的例子返回了所有的“explorer.exe”進程的所有者。如果你擁有管理員權(quán)限并且遠程登陸了,用戶列表中還會可能會包括非活動用戶。因為每個桌面上打開的 explorer.exe可能屬于不同的會話,不同的用戶。
如果使用了 Sort-Object 命令,可以非常容易排除重復(fù)項。
$ProcessName = 'explorer.exe'
(Get-WmiObject –Query "select * from Win32_Process where name='$ProcessName'").GetOwner().User |
Sort-Object -Unique
并且,如果你更改了要查看的進程的名稱,還會發(fā)現(xiàn)其它有趣的事情。下面的腳本會列出,當(dāng)前通過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腳本中控制Windows DNS服務(wù)的方法
這篇文章主要介紹了PowerShell腳本中控制Windows DNS服務(wù)的方法,本文給出了相關(guān)例子和命令,需要的朋友可以參考下2014-08-08
PowerShell函數(shù)參數(shù)使用智能提示功能例子
這篇文章主要介紹了PowerShell函數(shù)參數(shù)使用智能提示功能例子,這個功能一般需要在PowerShell集成開發(fā)環(huán)境ISE中才會顯示智能提示,需要的朋友可以參考下2014-07-07
powershell 將文本轉(zhuǎn)換成表格的另一種可行方式
這篇文章主要介紹了powershell 將文本轉(zhuǎn)換成表格的另一種可行方式,需要的朋友可以參考下2014-08-08
PowerShell實現(xiàn)動態(tài)獲取當(dāng)前腳本運行時消耗的內(nèi)存
這篇文章主要介紹了PowerShell實現(xiàn)動態(tài)獲取當(dāng)前腳本運行時消耗的內(nèi)存,本文直接給出實現(xiàn)腳本函數(shù),需要的朋友可以參考下2015-06-06
PowerShell腳本性能優(yōu)化技巧總結(jié)
這篇文章主要介紹了PowerShell腳本性能優(yōu)化技巧總結(jié),一些PowerShell腳本可能很容易消耗很多內(nèi)存,或者運行太多時間,甚至兼而有之,本文會分享幾個PowerShell小技巧來提高這一類腳本的性能,需要的朋友可以參考下2014-05-05
Powershell使用OpenFileDialog打開文件示例
這篇文章主要介紹了Powershell使用OpenFileDialog打開文件示例,本文直接給出示例代碼,需要的朋友可以參考下2015-03-03

