确定当前用户是否属于管理员组(Windows/Python)
我希望只有当前用户是管理员时才能访问应用程序中的某些功能。
如何在 Windows 上使用 Python 确定当前用户是否属于本地管理员组?
I want certain functions in my application to only be accessible if the current user is an administrator.
How can I determine if the current user is in the local Administrators group using Python on Windows?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以尝试这个:
You could try this:
当然,在您的情况下,“SOME_GROUP”将是“管理员”
Of course in your case 'SOME_GROUP' will be 'administrators'
我想对 Vlad Bezden 给予一些信任,因为如果没有他使用 win32net 模块,这里的答案将是不存在。
如果您确实想知道用户是否有能力过去的 UAC 充当管理员,您可以执行以下操作。如果需要,它还列出当前用户所在的组。
它将适用于大多数(所有?)语言设置。
本地组只需以“Admin”开头,通常这样做...
(有人知道某些设置是否会有所不同吗?)
要使用此代码片段,您需要有已安装 pywin32 模块,
如果您还没有,您可以从 PyPI 获取它:
pip install pywin32
重要须知:
对于某些用户/编码人员来说,函数
os.getlogin()
仅自 Windows 操作系统上的 python3.1 起可用...python3.1 文档
win32net 参考
哦,还有哪里
from time import sleep
和sleep(10):
插入自己的导入/代码...
I'd like to give some credit to Vlad Bezden, becuase without his use of the win32net module this answer here would not exist.
If you really want to know if the user has the ability to act as an admin past UAC you can do the following. It also lists the groups the current user is in, if needed.
It will work on most (all?) language set-ups.
The local group just hast to start with "Admin", which it usually does...
(Does anyone know if some set-ups will be different?)
To use this code snippet you'll need to have
pywin32
module installed,if you don't have it yet you can get it from PyPI:
pip install pywin32
IMPORTANT TO KNOW:
It may be important to some users / coders that the function
os.getlogin()
is only available since python3.1 on Windows operating systems...python3.1 Documentation
win32net Reference
Oh and WHERE
from time import sleep
andsleep(10)
:INSERT own imports/code...