【问题标题】:How to run cmd command in Python with admin如何使用管理员在 Python 中运行 cmd 命令
【发布时间】:2014-10-22 20:30:05
【问题描述】:

我想用 Python 3 运行 windows 命令。就像这个 os.system("echo hi")。但是,如何运行需要管理员访问权限的命令?你怎么做到这一点?谢谢。

【问题讨论】:

  • 使用runas。参见,例如,this,如果不能在 shell 上输入密码,this
  • 这是一个内置的 Windows 程序,只要您知道他们的密码,您就可以像其他用户一样执行其他程序。参见例如我评论中的第一个链接。
  • 问题是这个程序要分发了,它显然不知道密码。
  • 不能让用户输入密码吗?
  • 我想是的。 runas 的代码是什么样的。

标签: python windows-7


【解决方案1】:

您可以使用 Pywin32 扩展中包含的 ShellExecuteEx Win32 API 包装器来执行此操作。如果您使用的是 ActivePython 之类的东西,您可能已经有了这些扩展。

使用 ShellExecuteEx :

import win32com.shell.shell as shell
commands = 'echo hi'
shell.ShellExecuteEx(lpVerb='runas', lpFile='cmd.exe', lpParameters='/c '+commands)

【讨论】:

  • 太棒了!我们可以在没有弹出窗口的情况下这样做吗?
  • 您是指User Account Control 弹出窗口吗?你真的不应该禁用它。 this question 中列出了一些解决方法,但它们都有点尴尬。
  • 哦。不过,这真的很烦人!\
  • 如果我们有用户密码怎么办?
  • @LukeDinkler 停止弹出窗口的一种方法:以管理员身份运行 python,然后执行脚本。然后自动所有脚本都将具有管理员访问权限,并且它们不会显示弹出窗口。
猜你喜欢
  • 2020-06-23
  • 1970-01-01
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多