我有程序,我启动USMT(加载或scanstate)与域用户,在本地计算机上给予管理权限。这在Windows 7中工作得非常好。C#Process.Start与另一个用户不工作在Windows 8/10
程序需要以非管理员用户身份启动,但以管理员权限执行load/scanstate。
但是,当正确运行load/scanstate时会失败,因为它没有正确提升。但是,我如何克服这一点,没有管理权限?
问候 托马斯·尼森
ProcessStartInfo restoreProcessInfo = new ProcessStartInfo
{
Verb = "runas",
UseShellExecute = false,
Domain = strAdminDomain,
UserName = strAdminUsername,
Password = strAdminPassword,
FileName = loadstate.exe",
Arguments = "blablabla"
}
你的意思是你的exe可以由非管理员用户执行,但是exe文件中的一段逻辑必须以提升的权限执行? – Kurubaran
正确,load-和scanstate需要管理权限才能运行。但用户不是管理员,因此无法直接运行。因此,我需要用另一个用户开始的流程,为他们提供本地管理员权限。 – user2931144