[英]How to run a PowerShell / ImapX script manually or in Task Scheduler?
[英]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.