Mat*_*ren 2 python windows ctypes administrator
我正在尝试使用
ctypes.windll.shell32.IsUserAdmin()
确定正在运行的进程是否由Admins组中的用户启动,但是我得到的结果不一致/不正确.
在Windows 7专业版安装中,当以非管理员但又是管理员组的memebr的用户身份登录时,我得到
>>> ctypes.windll.shell32.IsUserAnAdmin()
0
Run Code Online (Sandbox Code Playgroud)
但是该用户位于管理员组中.
当以管理员身份登录时,我在Windows Server 2008计算机上得到了预期的答案;
>>> ctypes.windll.shell32.IsUserAnAdmin()
1
Run Code Online (Sandbox Code Playgroud)
有没有人知道/有任何提示,为什么我在win7框中返回0,即使用户在administartors组?
谢谢,
马特.
Dav*_*nan 10
这是UAC.如果您运行提升,您将看到您期望的行为.但是,使用UAC下的标准令牌,即使在管理员组中,您的用户也没有管理员权限.
对于特殊的管理员用户帐户,UAC不适用,并且该特殊用户下的进程始终被授予特权令牌.所以你看到的差异不在于操作系统,而在于用户.以Windows 7上的特殊管理员帐户登录,并查看其行为与Server 2008框的行为相同.
| 归档时间: |
|
| 查看次数: |
2185 次 |
| 最近记录: |