Search code examples
powershellbatch-filevbscriptscheduled-taskspowershell-3.0

Run script using Task Scheduler with user context complete silent with no popup or cmd flash


I have tried to run the script using command

cmd.exe /c Start /min powershell.exe -windowstyle hidden -file <file>.ps1

But getting a CMD window for a fraction of a second. I need it to run completely hidden.


Solution

  • I have had this issue and the only way I could fix it was to call the PowerShell script with a simple VBS wrapper:

    https://github.com/gbuktenica/PsRun

    ' SYNOPSIS
    '   Run a PowerShell script in the user context without a script window
    ' EXAMPLE
    '   wscript.exe PsRun.vbs MyPsScript.ps1
    ' AUTHOR
    '   Glen Buktenica
    
    Set objShell = CreateObject("Wscript.Shell")
    Set args = Wscript.Arguments
    For Each arg In args
        Dim PSRun
        PSRun = "powershell.exe -WindowStyle hidden -ExecutionPolicy bypass -NonInteractive -File " & arg
        objShell.Run(PSRun),0