ctypes.windll.shell32.IsUserAdmin()在用户位于admins组时不返回1

2024-05-10 15:47:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用

在ctypes.windll.shell32.IsUserAdmin()

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

在Windows7 professional上,当以非管理员但是administrators组成员的用户身份登录时,我得到

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

但用户在admins组中。在

当我以管理员身份登录时,我在WindowsServer2008计算机上得到了预期的答案

^{pr2}$

有人知道/有什么提示吗?为什么我在win7框中返回0,即使用户在administrators组中?在

  • 我想知道这个问题是否是由本地和域管理员/组之间的一些交互引起的,但我对这方面的了解最多也只是粗略的。。在

谢谢

马特。在


Tags: 用户进程管理员身份ctypesprofessionaladminswindows7
1条回答
网友
1楼 · 发布于 2024-05-10 15:47:34

我是UAC。如果你跑得高,你会看到你期望的行为。但是使用UAC下的标准令牌,用户没有管理员权限,即使在管理组中也是如此。在

对于特殊管理员用户帐户,UAC不适用,并且该特殊用户下的进程始终被赋予特权令牌。用户看不出操作系统的不同。在Windows7上以特殊管理员帐户登录,并查看它的行为与Server2008框的行为相同。在

相关问题 更多 >