当我使用 RDP 进入 Powershell 命令检查管理员权限时,它总是返回 false ,而当我使用 WinRM 时,它总是返回 true

当我使用 RDP 进入 Powershell 命令检查管理员权限时,它总是返回 false ,而当我使用 WinRM 时,它总是返回 true

我正在尝试通过 Ansible 脚本检查远程 Windows Server 2012 R2 计算机是否具有当前用户的管理员权限。我在网上找到了以下命令来检查管理员权限:

([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)

现在有关于此的几个问题:

1) 当我使用管理员帐户通过 RDP 进入任何系统时,此命令的输出为“false”。但当我通过 Ansible 运行该命令时,该命令返回“true”(Ansible 使用 winRM 从中央服务器发出命令)。

2)是否有更好的命令(CMD 或 powershell)来检查当前用户是否具有管理员权限?

答案1

当我以提升的管理员身份在 RDP 会话中运行时,您的命令始终会返回true。请确保跑步你的 PowerShell作为管理员

当使用 winRM 或 Enter-PsSession 时,您的权限会自动提升。

相关内容