我需要我的python脚本才能拥有提升的UAC权限。我一次又一次地试过,无法弄明白。
这是我现在的代码:
from win32com.shell.shell import ShellExecuteEx
from win32com.shell import shellcon
import win32process, win32event
import win32con
from ntsecuritycon import *
ASADMIN = 'asadmin'
if sys.argv[-1] != ASADMIN:
script = os.path.abspath(sys.argv[0])
params = ' '.join([script] + sys.argv[1:] + [ASADMIN])
ShellExecuteEx(fMask=shellcon.SEE_MASK_NOCLOSEPROCESS,
lpVerb="runas",
lpFile=sys.executable,
lpParameters=params,
nShow=win32con.SW_SHOW)
sys.exit(0)
现在,我到目前为止的信息是,这将运行没有错误,它会重新打开自己。重新打开的脚本返回
["c:\\users\\justin\\UAC.py", "asadmin"]
代表
sys.argv
,但它仍然不允许我执行管理任务。
虽然帮助修复此代码是最佳的,但我也准备尝试其他任何有效的方法,谢谢!
答案 0 :(得分:0)
使用以下内容:
import os
import sys
import win32com.shell.shell as shell
ASADMIN = 'asadmin'
if sys.argv[-1] != ASADMIN:
script = os.path.abspath(sys.argv[0])
params = ' '.join([script] + sys.argv[1:] + [ASADMIN])
shell.ShellExecuteEx(lpVerb='runas', lpFile=sys.executable, lpParameters=params)
print("I am root now.")