Команда Powershell для проверки прав администратора всегда дает мне значение false, когда я использую RDP, и значение true, когда я использую WinRM
Я пытаюсь проверить мои удаленные машины Windows Server 2012 R2 на наличие прав администратора для текущего пользователя с помощью скриптов Ansible. Я нашел следующую команду для проверки прав администратора в Интернете:
([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
Теперь несколько вопросов по этому поводу:
1) Эта команда выдает "ложь" как вывод, когда я RDP в любую систему с учетной записью администратора. Но эта же команда возвращает 'true', когда я запускаю ее через Ansible (Ansible использует winRM для запуска команд с центрального сервера).
2) Есть ли лучшая команда (CMD или powershell), чтобы проверить, есть ли у текущего пользователя права администратора?
1 ответ
Ваша команда всегда возвращается true
для меня, когда работает в сеансе RDP в качестве повышенного администратора. Обязательно запустите PowerShell от имени администратора
При использовании winRM или Enter-PsSession вы автоматически повышаетесь.