gpt4 book ai didi

powershell - 非提升时检查登录用户是否为管理员

转载 作者:行者123 更新时间:2023-12-04 02:03:35 24 4
gpt4 key购买 nike

我需要检查当前登录的用户是否是管理员,但是发现当 AD 组是管理员组的成员时,仅使用“net localgroup administrators”是不够的。

[编辑:] 通常很容易将管理员权限与特定实例的提升权限混淆,我只想强调这个问题/答案不涉及进程提升状态检查。要求通常是确定登录用户是否是管理员组成员。更常见的是需要确定您的脚本是否以管理员权限运行。如果这是您的要求,请查看此处:Administrative privileges

在这种特殊情况下,有一个禁用管理员共享的策略(排除了我在 Windows XP 中使用的先前技术,该技术使用\127.0.0.1\admin$ 来测试管理员共享的存在,以确定当前用户是否是管理员)。
[/编辑]

下面是我收集和编写的代码,看看登录用户是否是管理员。

我希望这可以帮助那些和我有同样需求的人。

如果有人能提供更优雅的解决方案,将不胜感激!

最佳答案

如前所述,本地成员(member)Administrators group 不足以确定当前进程是否被提升。您可以像这样在 PowerShell 中测试海拔:

$elevated = ([Security.Principal.WindowsPrincipal] `
[Security.Principal.WindowsIdentity]::GetCurrent()
).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

关于powershell - 非提升时检查登录用户是否为管理员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29129787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com