一位同事编写了一个PowerShell脚本,使重复的AD任务更容易 。然而(我不知道细节),他写道,你必须打开powershell.exe
并点击" Run"执行脚本。我们已经在我们的机器上打开了一百万个窗口,还有一个窗口太多了。
所以,我尝试编写运行隐藏控制台的.vbs,但允许.ps1文件打开一个窗口。目前,它只是闪烁一瞬间消失。
代码:
Const HIDDEN_WINDOW = 0
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objConfig = objStartup.SpawnInstance_
objConfig.ShowWindow = HIDDEN_WINDOW
Set objProcess = GetObject("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")
objProcess.Create "powershell.exe -command myscript.ps1", null, objConfig, intProcessID
如果我将HIDDEN_WINDOW
设置为0,则会隐藏所有内容。有没有办法隐藏初始控制台,但显示由.ps1创建的窗口?
答案 0 :(得分:0)
我想通了,如上所述。变量usrPath
指的是我用来存储该路径的变量,&
将它连接到以下PowerShell命令:
strCommand = "powershell -WindowStyle hidden -command " & usrPath
这实现了我想要的,因为PowerShell允许有一个隐藏的控制台,而VBS和Windows Scripting则没有。