如何自动处理Python调用PowerShell脚本时的Y确认输入?
解决PowerShell脚本执行时的确认输入弹窗问题
你在通过Python调用PowerShell脚本启用设备时,遇到了需要手动确认的弹窗,提示内容如下:
Are you sure you want to perform this action?
Performing the operation "Enable" on target "Win32_PnPEntity: HP Wide Vision HD Camera (DeviceID = "USB\VID_04F2&PID_B735&MI_00\6&8C5F8A1&0...)".
以下是几种直接解决的方法:
给目标命令添加跳过确认参数
执行启用设备的Enable-PnpDevice命令时,追加-Confirm:$false参数即可跳过确认提示。示例命令:Enable-PnpDevice -InstanceId "USB\VID_04F2&PID_B735&MI_00\6&8C5F8A1&0..." -Confirm:$false全局设置跳过确认偏好
如果脚本中有多个需要确认的操作,可在脚本开头添加全局配置,一次性跳过所有确认提示:$ConfirmPreference = 'None'Python调用时确保参数传递正确
若使用Python的subprocess模块调用PowerShell,注意命令字符串的转义处理,示例代码:import subprocess ps_cmd = 'Enable-PnpDevice -InstanceId "USB\\VID_04F2&PID_B735&MI_00\\6&8C5F8A1&0..." -Confirm:$false' subprocess.run(["powershell", "-Command", ps_cmd], capture_output=True, text=True)
内容的提问来源于stack exchange,提问作者Willl
相关产品推荐
相关产品推荐

