Process.Start () не создает новый процесс под тем же пользователем - PullRequest
1 голос
/ 03 декабря 2010

У меня всегда было впечатление, что когда вы запускаете процесс как (domain\user) mydomain\myuser, при использовании Process.Start() он запускает этот новый процесс с использованием тех же учетных данных - mydomain\myuser.

Проблема, с которой я сталкиваюсь, заключается в том, что мой вызов Process.Start() создает процесс под учетной записью SYSTEM, что вызывает у меня проблемы с разрешениями в запущенном процессе (который должен выполняться под учетной записью администратора из-за выполняемой работы ). Если это что-то меняет - я порождаю этот процесс (пользовательский файл) из в установщике Windows .

Есть предложения? Я читал о политике групп Windows (возможно), влияющей на это, но, если честно, это потеряно для меня.

РЕДАКТИРОВАТЬ: маленький фрагмент:

Где exename и commandLine - параметры для тела этого метода:

ProcessStartInfo procInfo = new ProcessStartInfo(exeName, commandLine);
procInfo.WorkingDirectory = workingDirectory;
procInfo.UseShellExecute = false;
procInfo.CreateNoWindow = true;
Process process = Process.Start(procInfo);
Process.WaitForExit();
return process.ExitCode;

Ответы [ 2 ]

3 голосов
/ 03 декабря 2010

Либо установите для procInfo.UseShellExecute значение true, либо выполните cmd как процесс, используя exe в качестве параметра команды cmd. Когда для UseShellExecute установлено значение false, здесь есть много интересных побочных эффектов: UseShellExecute

2 голосов
/ 03 декабря 2010

Ваше впечатление верно. Process.Start () всегда запускает новый процесс под учетными данными текущего пользователя - если только вы не предоставите альтернативные учетные данные в ProcessStartInfo или не используете одну из перегрузок, которые принимают учетные данные.

Должна быть еще одна проблема - поделиться фрагментом кода.

UPDATE

OK! Вы ничего не упомянули об установщике. Все установщики MSI будут работать под управлением системы, поскольку они будут запускаться " Windows Installer ", который вы можете проверить, и они запускаются под SYSTEM .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...