Команда 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 вы автоматически повышаетесь.

Другие вопросы по тегам