在python脚本中请求UAC提升

在python脚本中请求UAC提升,python,uac,Python,Uac,我需要我的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] !=

我需要我的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"]
为了

,但它仍然不允许我执行管理任务

虽然帮助修复此代码将是最佳的,我也准备尝试任何其他的工作,谢谢

使用以下命令:

导入操作系统
导入系统
将win32com.shell.shell作为shell导入
ASADMIN='ASADMIN'
如果系统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)
打印(“我现在是root。”)

我想可能是重复的,但答案对我编写代码没有帮助。您是否尝试过将实际的python.exe设置为以管理员权限运行?然后它运行的任何东西都将具有这些权限。程序本身将无法使自己与管理员一起运行,如果可以的话,UAC的意义何在?
sys.argv