【发布时间】:2015-10-26 17:42:31
【问题描述】:
我有一个程序,我使用域用户启动 USMT(加载或扫描状态),该域用户在本地计算机上提供管理权限。这在 Windows 7 中运行良好。
程序需要以非管理员用户身份启动,但以管理员权限执行加载/扫描状态。
但是,当正确运行 load/scanstate 时它会失败,因为它没有被当前提升。但是,如果没有管理权限,我该如何克服呢?
最好的问候 托马斯·尼森
ProcessStartInfo restoreProcessInfo = new ProcessStartInfo
{
Verb = "runas",
UseShellExecute = false,
Domain = strAdminDomain,
UserName = strAdminUsername,
Password = strAdminPassword,
FileName = loadstate.exe",
Arguments = "blablabla"
}
【问题讨论】:
-
您的意思是您的 exe 可以由非管理员用户执行,但 exe 中的一段逻辑必须以提升的权限执行?
-
正确,加载和扫描状态需要管理权限才能运行。但用户不是管理员,因此无法直接运行。因此,我需要与另一个用户一起启动进程,赋予他们本地管理员权限。
标签: c# windows-8 permissions windows-10