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