Programm versteckt starten via Powershell

Windows bietet mit den Bordmittel nicht die Möglichkeit  an eine Anweldung unsichbar zu starten. Hierzu muss über den Umweg eines sehr einfachen Powershell-Scripts das Ganze gestartet werden. Im Script gibt es dann den Schalter "-WindowStyle Hidden" um eine Anwendung oder eine weiters Script versteckt zu starten. Das Startscript taucht dann kurz in der Taskleiste auf und verschwindet dann wieder da dieses Script nach dem Start der weiteren Andwendung beendet wird.

Hierfür müssen 2 Dinge zur einfacheren Handhabung erstellt werden.

1.) Eine Verknüpfung welche das Powershell-Script startet das wiederum die eigentliche Anwedung bzw Script unsichtbar startet.
Die Vernüpfung (Link) sollte im Feld Ziel bzw. bei Erstellen folgenden Inhalt haben. (Wenn Wenn der Script-Dateipfad Leerzeichen enthält dementsprechend mit Anführungszeichen kapseln).
"powershell.exe c:\test\run_hidden.ps1"

 2.) Powershell-Script das die eigentliche Anwendung versteckt startet. z.B. als c:\test\run_hidden.ps1
2b.) Wenn ein Script versteckt gestartet werden soll muss es dieses natürlich auch geben ;-)

#*************************************************
# PS-Script um eine Anwendung versteckt zu starten
#*************************************************
# Programm- / Script-Interpreter-Pfad
# > Powershell 32
$prog = $env:windir + '\system32\WindowsPowerShell\v1.0\powershell.exe'
# > Powershell 64 (auskommentiert)
#$prog = $env:windir + '\syswow64\WindowsPowerShell\v1.0\powershell.exe'
# > Windows Script Host (auskommentiert)
#$prog = $env:windir + '\system32\cscript.exe'

# Argumentenliste
# > Powershell-Script
$args = 'c:\test\run_2x_calc.ps1'

# Programm versteckt starten
Start-Process -FilePath $prog -ArgumentList  -WindowStyle Hidden

 Hier im Bsp. wird ein zweites Script gestartet das den Taschenrechner zwei mal startet. Bei ersten mal im wissenschaftlichen Modus dann im normal Modus. (Hierzu muss in die Registry durch das Script geschrieben werden)

#*********************************************************
# PS-Script 2 x Taschenrechner starten 
# 1. Wissenschaftlich; 2. Normal
#*********************************************************

$prog = $env:windir +'\system32\calc.exe'
$regpath = 'HKCU:\Software\Microsoft\Calc'
$regvalu = 'layout'
$valu = '0'

$layout = [string](get-item $regpath).GetValue($regvalu)
if ($layout -eq '') { # Kein Wert Layout
  New-ItemProperty -Path $regpath -Name $regvalu -Value $valu -PropertyType DWORD -Force | Out-Null  
} else{
  Set-ItemProperty -Path $regpath -Name $regvalu -Value $valu
}

Start-Process -FilePath  $prog -Wait 

$valu = '1'
Set-ItemProperty -Path $regpath -Name $regvalu -Value $valu
Start-Process -FilePath  $prog

 Download zip (Zip nach c:\test entpacken !)
Das Ganze geht auch per VBS