在Python中使用子进程如何以管理员身份运行'openvpn'?

问题描述 投票:0回答:1

我可以使用默认权限运行openvpn:

FNULL = open(os.devnull, 'w')
args = 'E:\\OpenVPN\\bin\\openvpn-gui.exe --connect ' + server + '.udp.ovpn'
subprocess.Popen(args, stdout=FNULL, stderr=FNULL, shell=False)

如何更改此项以确保以管理员身份运行?

python subprocess administrator
1个回答
0
投票

您可以使用runas utility - 未经测试,引用可能需要一些工作:

FNULL = open(os.devnull, 'w')
command = 'E:\\OpenVPN\\bin\\openvpn-gui.exe --connect ' + server + '.udp.ovpn'
runas_command = 'runas /user:Administrator "%s"' % command
subprocess.Popen(runas_command, stdout=FNULL, stderr=FNULL, shell=False)

如果runas不起作用,psexec可能会。

© www.soinside.com 2019 - 2024. All rights reserved.