【问题标题】:How to run PowerShell script without terminal window?如何在没有终端窗口的情况下运行 PowerShell 脚本?
【发布时间】:2020-10-02 19:13:59
【问题描述】:

下面的快捷方式执行 powershell.exe 并将脚本 vscode.ps1 传递给它。它可以工作,除了我所有的尝试,它在运行时仍会短暂显示一个终端窗口。你可以看到我已经传递了应该防止这种情况的参数,但我仍然看到窗口。在不显示终端窗口的情况下,如何从快捷方式执行 PS 脚本?

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nologo -NoProfile -WindowStyle Hidden -file C:\Users\bernie\OneDrive\PowerShell\vscode.ps1 C:\Users\bernie\OneDrive\Documents\windows.txt

【问题讨论】:

    标签: powershell


    【解决方案1】:

    这是一个已知问题,请参阅https://github.com/PowerShell/PowerShell/issues/3028#issuecomment-583834582

    正如@Ciantic 所说,解决此问题的最佳方法是使用 VB 脚本:

    输入,比如ps-run.vbs put

    Set objShell = CreateObject("Wscript.Shell")
    Set args = Wscript.Arguments
    For Each arg In args
        objShell.Run("powershell -windowstyle hidden -executionpolicy bypass -noninteractive ""&"" ""'" & arg & "'"""),0
    Next
    

    然后用它来运行你想要的命令,例如

     wscript "C:\Path\To\ps-run.vbs" "C:\Other\Path\To\your-script.ps1"
    

    我经常使用这样的东西来运行任务,而没有看到任何闪烁的窗口。

    【讨论】:

    • 谢谢。作为一种解决方法,我刚刚配置了运行 powershell 命令的快捷方式来运行最小化的窗口。除非我愿意,否则至少我看不到它!
    【解决方案2】:

    是的,Powershell 不能完全做到这一点。但是 VBScript 可以做到这一点。我也使用Hidden Start,它可以启动任何隐藏或绕过UAC的程序。

    【讨论】:

      猜你喜欢
      • 2010-12-20
      • 2022-06-13
      • 1970-01-01
      • 2022-06-11
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      相关资源
      最近更新 更多