В моем приложении С# мне нужно проверить, является ли текущий пользователь членом группы "Администраторы". Он должен быть совместим как с Windows XP, так и с Windows 7.
В настоящее время я использую следующий код:
bool IsAdministrator
{
get
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
return principal.IsInRole(WindowsBuiltInRole.Administrator);
}
}
Проблема заключается в том, что этот метод возвращает false, если приложение запускается в Windows 7 с включенным UAC в качестве незанятого администратора. Как я могу определить, является ли пользователь администратором, даже если приложение запущено в качестве администратора без повышения?