Server 2008 не может установить права пользователя

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

  •  27-09-2019
  •  | 
  •  

Вопрос

Я попытался сделать несколько вещей Win32 в C # 3.5, чтобы получить повышенные права пользователя для приложения для консоли. Я разрабатываю на Visual Studio 2008 SP1 / GDR, и все вещи работают нормально, когда беги под отладчик. Вещи также отлично работают, когда я бегу в консоли приложение автономным. Вещи также работают нормально, когда я упаковываю все в MSI и установите его на сервере 2003 года и запустите приложение консоли.

Если я беру один и тот же MSI и установите его на сервере 2008 года с включенным UAC, затем запустите приложение консоли, я получаю такие сообщения:

Unable to set right for the account "DOMAIN\QAUSER": SeCreateGlobalPrivilege
System.UnauthorizedAccessException    Attempted to perform an unauthorized operation.

Я не могу ожидать, что мои администраторы развертывания / сервера делают что-нибудь с моим приложением, кроме установки его, и они не собираются отключить UAC. Должен быть какой-то программный способ правильно установить права пользователя, которые я могу добавить в приложение консоли - кто-нибудь знают, как?

Спасибо.

Это было полезно?

Решение

Вероятно, вы используете »Глобальный "префикс На имя объекта в вашем приложении, и ваше приложение будет запущено внутри сеанса сеанса дистанционного рабочего стола (Host Session Host). В случае, если ваша программа должна включить Se_create_global_name. (SeCreateGlobalPrivilege) привилегия. Видеть C # - Как включить седабугпривилеж? (Но использовать SE_CREATE_GLOBAL_NAME вместо SE_DEBUG_NAME) или Манипулировать привилегиями в управляемом коде надежно, надежно и эффективно Например.

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

Я предполагаю, что UAC включен на машине 2008 года, и я не могу прокомментировать еще на ваш вопрос, чтобы узнать.

Если это так, убедитесь, что в вашем приложении. Mpanifest файл в VS (в соответствии с свойствами), изменить

<requestedExecutionLevel  level="asInvoker" uiAccess="false" />

к

<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

Даже если код работает как администратор, вы должны пройти от предупреждения UAC.

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