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

2024-06-28 21:06:37 发布

您现在位置:Python中文网/ 问答频道 /正文

当我开始的时候

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,该命令在控制台字符串中迭代如下 runas/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)

这是我的密码。


Tags: pyimportossysscriptparamsshellexe