【发布时间】:2012-09-10 08:51:52
【问题描述】:
我想启动一个具有高完整性级别的进程。父进程作为系统服务 LocalSystem 帐户运行。在一台 Windows 2008 机器中,子进程为高级,而在另一台 2008 机器中,该进程为“中”级。看起来CreateProcessAsUser 在不同的机器上得到了不同的级别。
if (!WTSQueryUserToken(sessionID, &hToken))
{//The admin user logged in the rdp session of "sessionID".
return;
}
BOOL fSuccess = CreateProcessAsUser(hToken, NULL, cmdLine, NULL, NULL,
TRUE,CREATE_NEW_CONSOLE,NULL, workDir, &si, &pi);
是什么导致了差异?有没有配置或者程序的方式来解决?
【问题讨论】:
-
也许其中一台机器禁用了 UAC,因此管理员没有获得拆分令牌?或者在一种情况下,有问题的帐户是内置管理员帐户,它(默认情况下)免于获取拆分令牌?
标签: c++ windows winapi process