Подтвердить что ты не робот

Предоставление администратора С# - проверка

Я знаю, что есть некоторые подобные вопросы. Но я хочу проверить только одну вещь.

Я только хочу знать, работает ли программа как администратор. Я хочу проверить это, потому что я хочу редактировать некоторые защищенные файлы. Пользователь не должен быть администратором. Я только хочу знать, имеет ли мое приложение права на редактирование некоторых защищенных файлов, которые можно редактировать при работе в качестве администратора.

4b9b3361

Ответ 1

Это вернет bool valid

using System.Security.Principal;

bool isElevated;
using (WindowsIdentity identity = WindowsIdentity.GetCurrent())
{
    WindowsPrincipal principal = new WindowsPrincipal(identity);
    isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator);
}

Ответ 2

Здесь @atrjjoe ответ превратился в один лайнер с использованием последнего С#:

using System.Security.Principal;

static bool IsElevated => new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator);