window powershell运行python_如何以管理员身份从powershell运行python脚本

用户尝试从Windows Server 2016的PowerShell脚本以管理员权限运行Python脚本,因需要访问本地注册表。目前遇到的问题是,使用提升权限的子shell启动Python脚本时,子shell会立即关闭,导致无法看到错误信息。根据事件日志,怀疑是权限错误。直接以管理员权限运行Powershell则脚本能正常工作。
摘要由CSDN通过智能技术生成

关于这个问题,有各种各样的线索,但似乎没有什么对我的具体案件有帮助。我通常不是Windows用户,所以我可能遗漏了一些东西。在

我需要从一个Windows(2016)powershell脚本运行一系列带参数的python脚本。python脚本必须以管理员身份运行(因为它们需要访问本地注册表)。在

根据其他相关主题的文章,我已经得到了如下结论:if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Unrestricted -File `"$PSCommandPath`"" -Verb RunAs; exit }

& python.exe V:Scripts\script.py --hostnames del rodney

这将以管理员身份启动子shell,但在运行python脚本时,该子shell失败。在我有机会看到错误消息之前,subshell就消失了,但是powershell事件日志显示“Engine state is changed from Available to Stopped”(引擎状态已从可用更改为已停止),我认为这是权限错误。在

如果直接从管理员powershell运行,python脚本可以正常工作。我很感激你的建议。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值