python操作系统。使用runas启动程序

python操作系统。使用runas启动程序,python,uac,Python,Uac,当我开始 os.system('"runas /user:USERNAME "C:/Python27/python.exe shell.py""') 它在控制台中反复迭代 我需要从计算机所有者那里启动一个程序来提升权限,因为该程序将在Win7上使用,这导致了对UAC的关注 我决定用一种在内部启动程序的方式,但要有更高的权限并立即退出 我用了这个密码 import os import sys import win32com.shell.shell as shell ASADMIN = 'as

当我开始

os.system('"runas /user:USERNAME "C:/Python27/python.exe shell.py""')
它在控制台中反复迭代

我需要从计算机所有者那里启动一个程序来提升权限,因为该程序将在Win7上使用,这导致了对UAC的关注

我决定用一种在内部启动程序的方式,但要有更高的权限并立即退出

我用了这个密码

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) 
` 但就我而言,没有什么是从ShellExecuteEx开始的。我没有使用ShellExecuteEx,而是使用runas命令放置os.system,该命令在控制台字符串中迭代,如 反复运行/user:USERNAME“C:/Python27/python.exe shell.py”

import os
import sys
import win32com.shell.shell as sh    ASADMIN = '/user:@'
os.system('"runas /user:=@COMPANY_NAME "C:/Python27/python.exe shell.py""')
sys.exit(0)
if sys.argv[-1] != ASADMIN:
    script = os.path.abspath(sys.argv[0])
    params = ' '.join([ASADMIN] + ['c:\\Python27\\python.exe', script] + sys.argv[1:])
    sh.ShellExecuteEx(lpVerb='runas', lpFile=sys.executable, lpParameters=params)
    sys.exit(0)

这是我的代码。

您可能会发现它很有用。正如我看到的,我使用了一个变体。但是,命令os.system(“'runas/user:USERNAME”C:/Python27/python.exe shell.py”“”)在控制台中反复迭代,而不启动runas程序,如何修复它?如果您阅读我发布的链接(接受的答案),您将看到您无法以这样的方式提升。在那个岗位上有一个有效的解决方案。如果你说“我正在做一件完全不同的事情,像那样,但它不起作用”,这并不重要。您已经发布了一行代码,还有一个模糊的“它在控制台中反复迭代”。您发布的代码行根本无法“迭代”,但您不会显示更多代码或提供更多详细信息。我不知道当你不给我们信息,不阅读建议的解决方案时,你希望得到怎样的帮助?实际上,我编写了类似的代码:import os import sys import win32com.shell.shell作为shell ASADMIN='ASADMIN'如果sys.argv[-1]!=ASADMIN:script=os.path.abspath(sys.argv[0])params=''.join([script]+sys.argv[1:+[ASADMIN])shell.ShellExecuteEx(lpVerb='runas',lpFile=sys.execute,lpParameters=params)sys.exit(0),但在我的例子中,程序以零退出,而nothig以ShellExecuteEx开始。我没有使用ShellExecuteEx,而是将os.system使用runas命令,该命令在控制台字符串中迭代,如runas/user:USERNAME“C:/Python27/python.exe shell.py”over@John-为什么不直接复制您正在使用的代码?