繁体   English   中英

如何在静默/隐藏模式下使用任务调度程序运行powershell脚本?

[英]How to run powershell script using task scheduler in silent/hidden mode?

我正在尝试使用任务计划程序运行powershell脚本,它会弹出PowerShell cmd窗口。 有没有办法在运行脚本时禁用它? 我在powershell v5.0上

我已经尝试过-WindowStyle Hidden但仍会弹出PowerShell cmd窗口。

欢迎任何指导。

谢谢。

由于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 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM