2

整合性レベルの高いプロセスを起動したい。親プロセスは、システム サービス、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);

何が違いをもたらしますか?それを解決するための構成またはプログラムの方法はありますか?

4

2 に答える 2

1

パラメータを に設定してSetTokenInformationを呼び出すことにより、新しいプロセスを起動する前に、取得したトークンの整合性レベルを変更できるはずです。TOKEN_INFORMATION_CLASSTokenIntegrityLevel

于 2012-09-10T20:32:34.767 に答える