Python 使用管理员权限打开cmd(Windows 10)

Python 使用管理员权限打开cmd(Windows 10),python,windows,cmd,Python,Windows,Cmd,我有自己的python脚本来管理我计算机上的IP地址。它主要在命令行(windows 10)中执行netsh命令,您必须拥有管理员权限 这是我自己的计算机,我是管理员,在运行脚本时,我已经与我的用户(Adrian)一起登录,该用户类型为administrator 我无法使用右键单击和“以管理员身份运行”解决方案,因为我正在从python脚本执行netsh命令 有人知道如何使用CMD命令“以管理员身份运行”吗 谢谢试试这样的方法:runas/user:administrator regedit你可

我有自己的python脚本来管理我计算机上的IP地址。它主要在命令行(windows 10)中执行netsh命令,您必须拥有管理员权限

这是我自己的计算机,我是管理员,在运行脚本时,我已经与我的用户(Adrian)一起登录,该用户类型为administrator

我无法使用右键单击和“以管理员身份运行”解决方案,因为我正在从python脚本执行netsh命令

有人知道如何使用CMD命令“以管理员身份运行”吗


谢谢

试试这样的方法:
runas/user:administrator regedit
你可以


您可以通过NirCmd启动子流程


cmd.exe
以管理员身份运行模式下运行的任何命令也将以管理员身份运行。如果我错了,请纠正我,但应该是这样。@Torxed不,至少在我的情况下不是这样。例如,如果我从“开始”菜单打开cmd.exe并键入netsh命令,我会收到关于缺少管理员权限的错误消息。@CoryKramer我已经看到了这一点(并尝试了Jorenko
s解决方案,但它不起作用),如果有命令请求管理员权限,我需要单独使用python。类似于Linux.Adrian中的sudo,如果右键单击cmd.exe并选择“以管理员身份运行”,则会出现一个管理命令窗口。(有快捷方式,但这取决于您运行的Windows版本。)这似乎可行!它不适用于regedit,但适用于netsh命令!非常感谢。那么你想知道为隐藏的管理员帐户设置密码吗?我已经设法用我的用户名和密码解决了这个问题。谢谢,好的!作为提示:如果要设置管理员密码:请按Windows标志按钮+R-->compmgmt.msc-->本地用户和组…您可以在那里进行设置。@AdrianIvasku,很抱歉,对于普通Windows安装,这个答案是错误的。“管理员”帐户(不仅仅是管理员组中的帐户)最初被禁用,因为它不受UAC限制。对于Administrators组中的任何其他帐户,stock UAC配置会导致使用拆分令牌登录该帐户。你必须提升才能获得完整的管理员令牌,而runas.exe不能。我尝试过类似的方法,但它不起作用。没有例外,但未获得管理员级别。它存在于IF语句块中。@AdrianIvasku,这是通过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)
    sys.exit(0)
else:
    print "I'm elevated!"
    sys.exit(0)