我试图使用python来触发一个Powershell脚本,该脚本在从我与Powershell的连接(默认为'以管理员身份运行)运行时运行正常。但是,从python接口启动时,它会给我一个权限被拒绝的错误。这是我尝试运行的一些代码的片段,这些代码在由Python启动时失败,但在通过PowerShell提示符启动时则不会。
elif "!ExchangeCheck" in message:
response = subprocess.Popen("powershell -ExecutionPolicy Unrestricted -File C:\users\.....\code\servicecheck.ps1", shell=True, stdout=subprocess.PIPE).stdout.read()
status = "Exchange services are: \n"
for line in thing:
if "Microsoft Exchange" in response:
status += line
print status
希望找到一种方法来使用Popen或类似paramiko的方法来获得PowerShell,它将尝试以管理员的身份运行'或者至少在尝试运行时使用我的本机权限?
更新:我已经验证我的python脚本是以管理员用户身份运行的。
更新2:我认为一个解决方案是使用runas命令运行一个脚本来增加预期的目标,但我不知道这是不是很好的'做事的方式,似乎不太理想。