Process.Start () не нерестищий новый процесс под тем же пользователем

StackOverflow https://stackoverflow.com/questions/4344018

Вопрос

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

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

Какие-либо предложения? Я прочитал о политиках Windows Group (возможно) влиять на это, но если я честно, это потеряно на меня.

Редактировать: маленький фрагмент:

Где 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;
Это было полезно?

Решение

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

Другие советы

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

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

ОБНОВИТЬ

OK! Вы ничего не упомянули о установщике. Все установщики MSI будут работать в системе, поскольку они будут запускаться «Установщик Windows«Что вы можете проверить, и они бегут под СИСТЕМА.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top