@
wangqianping 如果你提前知道了密码,那么你可以写一个辅助程序帮你做这件事情,但是这很麻烦。
而且你怎么可能知道其他机器的管理员密码呢?
一个选项是你可以在启动 Python 脚本的时候看一下自己是不是管理员权限,如果不是,尝试以管理员权限重启自己。
另一个选项是以管理员身份启动你需要的程序,这需要使用 RunAs 这个动词,你可以透过 PowerShell 来做这件事情,通过 Python 运行如下命令:
PowerShell.exe -Command "& { Start-Process cmd.exe -Verb RunAs }"
如果你不具有管理员权限,将会弹出 UAC 要求确认或输入密码,如果你具有管理员权限,将使用管理员权限启动 cmd.exe 。
如果你想设置参数,你可以
PowerShell.exe -Command "& { Start-Process cmd.exe -ArgumentList @('/c', 'my-batch.bat') -Verb RunAs }"
注意:如果你先前不是管理员权限,那么通过 UAC 启动应用后,应用的工作目录会被重设为系统目录。