windows - 在任务计划程序中运行 .ps1 脚本时如何隐藏 PowerShell 窗口?

标签 windows powershell window-style

我正在尝试使用任务计划程序运行 PowerShell 脚本,它会弹出一个 PowerShell 命令控制台窗口。

有没有办法在运行脚本时禁用它并隐藏窗口?

我试过 -WindowStyle Hidden 但 PowerShell 命令控制台窗口仍然弹出。

最佳答案

由于 powershell.exe 是一个控制台程序,如果控制台窗口不出现,您将无法正常执行它(尽管您可以在它启动后不久通过使用 -WindowStyle Hidden< 隐藏它,正如您所注意到的)。

诀窍是在隐藏状态下执行powershell.exe 自身。一种方法是使用 WshShell 对象的 Run 方法运行隐藏在 WSH 脚本中的 PowerShell 命令行,然后使用 wscript.exe 执行 WSH 脚本(这不是控制台程序,因此不会出现控制台窗口)。示例脚本 (JScript):

var wshShell = new ActiveXObject("WScript.Shell");
wshShell.Run('%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -ExecutionPolicy Bypass -File "C:\\Scripts\\My Script.ps1"', 0, false);

如果此脚本是 C:\Scripts\My Launcher.js,您现在可以运行以下命令行:

wscript "C:\Scripts\My Launcher.js"

这会在没有控制台的情况下运行启动器脚本,然后在隐藏窗口中运行 PowerShell 命令(Run 方法的第二个参数是 0)。

关于windows - 在任务计划程序中运行 .ps1 脚本时如何隐藏 PowerShell 窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46808635/

相关文章:

c++ - 强制完整性级别值 0x2010 代表什么?

windows - 如何按共享列值对 CSV 行进行分组和求和?

c# - 我怎样才能让一个窗口看起来像一个框架?

c++ - 无法使用现有的子类创建窗口 (CreateWindowEx)

wpf - ThreeDBorderWindow和SingleBorderWindow的区别

javascript - IE 提示 (.js) Javascript 文件下载而不是执行它

C++ - 无法从 Windows 中的网络路径打开文件

java - 从java代码获取cmd命令的输出

powershell - 如何在 powershell 函数中自定义示例的标题

powershell - 使用Powershell复制并重命名在前一天修改的文件