У нас есть часть программного обеспечения, используемая в нашем бизнесе, для работы которой требуются права администратора. Однако сотрудники не имеют доступа к учетным записям с правами администратора. Это в среде Windows 7.
Мы настроили учетные записи локального администратора на необходимых компьютерах через GPO.
Цель программного обеспечения, которое я создаю, - запустить программное обеспечение, для которого требуются права администратора в качестве локальной учетной записи администратора.
Пока что программное обеспечение работает правильно, поскольку оно запускает программное обеспечение как учетную запись, но все равно выдает ошибки, которые оно выдает, когда у него нет прав администратора. Если вы щелкнете правой кнопкой мыши и запустите программу и введете данные учетной записи вручную, она будет работать нормально.
SecureString pwd = new SecureString();
foreach (char c in "somepassword") { pwd.AppendChar(c); }
var psi = new ProcessStartInfo
{
FileName = location,
UserName = "localadminaccountname",
Domain = Environment.MachineName,
Password = pwd,
UseShellExecute = false,
Verb = "runas"
};
try
{
Process.Start(psi);
}
Существует оператор перехвата исключений с отчетом об ошибках, включенным в код. При вызове Process.Start (psi) не возникает никаких исключений. (обновлено)
Спасибо.
EDIT
В корпоративной сборке Windows 7 для контроля доступа пользователя установлено значение «Никогда не уведомлять», поэтому при вызове Process.Start (psi) всплывающее окно UAC не отображается.