【发布时间】:2011-01-14 18:49:38
【问题描述】:
我正在寻找一种方法来检查远程进程是否具有来自我的(完全托管的)代码的管理员权限。假设我的代码将以管理员权限运行是安全的,所以我不在乎实现我的目标的技术有多么具有侵略性,但是我正在寻找一种必须与 XP SP3 x86 all 兼容的完全托管方式一路降到win7 x64。
提前致谢!
编辑:为了澄清,我说的是在同一台机器上运行的进程,不管启动它的用户是谁。我想确保与进程关联的身份属于管理员组或主线程具有完全权限,特别是继承由提升的进程打开的句柄和写入存储没有任何限制,但那些应用于进程使用“以管理员身份运行”选项生成。
【问题讨论】:
-
远程进程...例如,在不同的机器上运行?在另一个用户帐户下?或者只是...与执行检查例程的进程不同?
-
只是同一台机器上的一个单独进程,不管它是从哪个用户帐户运行的。任何可以通过正在运行的进程调用 OpenProcess 来打开的东西。
-
您如何评价具有管理员权限的流程?这是否意味着启动该过程的帐户在管理员组中?还是授予了某些特权?是否所有线程都必须拥有与它们相关联的这种特权或身份?
-
重复? stackoverflow.com/questions/4196552/… 它是 c++,但您可以从 c# 进行相同的 winapi 调用
标签: c# .net windows winapi uac