gpt4 book ai didi

python - 当用户在管理员组中时,ctypes.windll.shell32.IsUserAdmin() 不返回 1

转载 作者:可可西里 更新时间:2023-11-01 09:41:42 25 4
gpt4 key购买 nike

我正在尝试使用

ctypes.windll.shell32.IsUserAdmin()

确定正在运行的进程是否由 Admins 组中的用户启动,但我得到的结果不一致/不正确。

在 Windows 7 专业版安装中,当以非管理员但 管理员组成员身份登录时,我得到

>>> ctypes.windll.shell32.IsUserAnAdmin()
0

但是用户在admins组中。

以管理员身份登录时,我在 Windows Server 2008 机器上得到了预期的答案;

>>> ctypes.windll.shell32.IsUserAnAdmin()
1

有没有人知道/有任何提示为什么我在 win7 框上返回 0,即使用户在 administartors 组中?

  • 我想知道这个问题是否可能是由本地管理员与域管理员/组之间的某些交互引起的,但我的知识充其量是粗略的..

谢谢,

马特。

最佳答案

这是 UAC。如果您以更高的速度运行,您将看到您期望的行为。但是使用 UAC 下的标准 token ,您的用户没有管理员权限,即使在管理员组中也是如此。

对于特殊管理员用户帐户,UAC 不适用,并且该特殊用户下的进程始终获得特权 token 。因此,您看到的差异不在于操作系统,而在于用户。在 Windows 7 上以特殊管理员帐户登录并查看其行为与服务器 2008 框一样。

关于python - 当用户在管理员组中时,ctypes.windll.shell32.IsUserAdmin() 不返回 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8095187/

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