使用 python 进行 UAC 提升:使用提升模块退出不需要的系统

我正在尝试从 python 脚本中获取 UAC 提升。我需要它来执行命令(我在 Windows 10 上):,netsh winhttp set proxy xxxxxxx因为它需要管理员权限。为了获得它们,我使用我找到的代码:


import os

from elevate import elevate

elevate(show_console=False)

os.popen('netsh winhttp set proxy 62.210.172.164:3128')

这很完美,但后来我得到了这个:


Traceback (most recent call last):

  File "TESTS 2.py", line 3, in <module>

    elevate(show_console=False)

  File "C:\Users\Elève\AppData\Local\Programs\Python\Python37-32\lib\site-packages\elevate\__init__.py", line 22, in elevate

    elevate(show_console, graphical)

  File "C:\Users\Elève\AppData\Local\Programs\Python\Python37-32\lib\site-packages\elevate\windows.py", line 89, in elevate

    sys.exit(ret.value)

SystemExit: 0

有一个不需要的系统退出,这非常烦人,而且似乎是一个错误...你们有人知道我该如何解决这个问题吗?或者有其他方法可以通过 UAC 权限提升我的脚本吗?知道我需要执行许多命令并且不想确认每个命令的提升,我需要提升整个脚本...如果您能以任何方式提供帮助,谢谢!


慕桂英4014372
浏览 168回答 2
2回答

至尊宝的传说

它永远不会工作,因为我是 IP 62.210.172.164 的所有者,并且我在 Squid 配置中出现错误,所以代理现在已关闭!

温温酱

在收到关于我的 IP 的滥用报告后,我在 Stackoverflow 上通过谷歌搜索 IP 找到了我的专用服务器的 IP ...由于鱿鱼服务器上的这个错误:( 所以这就是我回答你的原因 :)

潇湘沐

我解决了我的问题!首先,我在 cmd 中执行了 pip show elevate 来获取库脚本的位置,然后我用 python 打开它并删除了最后一行 sys.exit(ret.value) ...仅此而已,它运行良好现在哈哈!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python