如何使用dotnet或powershell检测特定进程是否已升级

时间:2013-12-04 22:23:47

标签: c# powershell process-elevation

如何检测特定进程是否升高。此过程与我的代码运行的过程不同。我希望能够通过PowerShell或C#来实现这一目标。

2 个答案:

答案 0 :(得分:1)

也许这可以帮助

Get-Process |
Add-Member -Name Elevated -MemberType ScriptProperty -Value {if ($this.Name -in @('Idle','System')) {$null} else {-not $this.Path -and -not $this.Handle} } -PassThru |
Format-Table Name,Elevated

来自http://www.powershellmagazine.com/2013/03/29/pstip-detecting-if-a-certain-process-is-elevated/

答案 1 :(得分:0)

请试试这个答案:https://stackoverflow.com/a/4497572/717732

UacHelper需要进行一些细微的更改。就像,IsProcessElevated在CurrentProcess上使用OpenProcessToken - 您需要更改函数的IsProcessElevated并使Process成为参数,这样您就可以检查任何参数,而不仅仅是当前的之一。

一般来说,这个课程可以满足您的所有需求。它检查分配给该进程的安全属性。我认为代码本身就说明了。

顺便说一句。如果您认为代码可以满足您的需求,请将您的问题标记为“重复” - 这将有助于其他人查找该代码。