You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:创建Bat文件以指定域用户运行PowerShell执行PS1脚本失败

解决用runas指定账户运行PowerShell脚本的问题

你遇到的错误是因为runas命令的参数格式不正确:你把powershell.exe的路径单独用引号包裹,后面的-file和脚本路径被runas当成了自己的参数,而非传递给PowerShell,导致命令解析失败,直接退出而没有提示密码。

正确的命令格式

将PowerShell的完整启动命令(包括路径、参数和脚本路径)全部放在一对双引号内,让runas把整个内容作为要执行的程序及其参数:

runas /user:domain\user "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File C:\Temp\script.ps1"

特殊场景处理

  1. 脚本路径包含空格:
    用单引号包裹脚本路径,避免路径被截断:

    runas /user:domain\user "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File 'C:\Temp\My Script.ps1'"
    

    或者在批处理中用^转义双引号:

    runas /user:domain\user "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File ^"C:\Temp\My Script.ps1^""
    
  2. 隐藏PowerShell窗口:
    添加-WindowStyle Hidden参数,让脚本在后台执行:

    runas /user:domain\user "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle Hidden -File C:\Temp\script.ps1"
    

验证效果

执行上述命令后,会正常弹出密码输入提示,输入正确密码后,PowerShell会以指定账户身份自动运行目标脚本。

内容的提问来源于stack exchange,提问作者chatmandu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 07:37:42