Windows Terminal an die Taskleiste anheften und automatisch immer als Administrator starten

Das Windows Terminal liebe ich eigentlich: Endlich eine von Microsoft selbst entwickelte Anwendung, um mehrere Befehlszeilen- und PowerShell-Fenster in einer einzigen Anwendung mit Registerkarten zu verwalten.

Doch leider hat Microsoft sich dazu entschieden, das als UWP-Anwendung auszuliefern.

Einer der Nachteile ist im konkreten Fall z. B., dass es nicht möglich ist eine Verknüpfung in der Taskleiste anzulegen und dann diese immer als Administrator auszuführen.

Es gibt schlicht gar nicht die Möglichkeit, die Eigenschaften der Verknüpfung zu anzuzeigen, wo das entsprechende Kontrollkästchen zu aktivieren wäre.

Lösung

Zum Glück habe ich auf Super User ein PowerShell-Skript gefunden, das programmatisch eine Verknüpfung anlegt und diese als „Run as Administrator“ markiert.

Hier meine angepasste Version des Skripts:

# https://superuser.com/a/1598352/11720

$sc = "C:\MeineDropbox\Windows Terminal.lnk";

$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut($sc)
$Shortcut.TargetPath = "$env:LOCALAPPDATA\Microsoft\WindowsApps\Microsoft.WindowsTerminal_8wekyb3d8bbwe\wt.exe"
$Shortcut.Save()

$bytes = [System.IO.File]::ReadAllBytes($sc)
$bytes[0x15] = $bytes[0x15] -bor 0x20 #set byte 21 (0x15) bit 6 (0x20) ON
[System.IO.File]::WriteAllBytes($sc, $bytes)

Mithilfe dieses Skripts bin ich dann so vorgegangen:

  1. PowerShell-Skript einmal ausführen

  2. Den erstellten Link doppelklicken

  3. Warten, bis Windows Terminal gestartet ist

  4. Rechtsklick auf das laufende Windows Terminal in der Taskleiste machen

  5. „An Taskleiste anheften“ im erscheinenden Kontextmenü auswählen

Anschließend konnte ich dadurch immer ein Windows Terminal starten, bei dem die darin gestarteten CMD- und PowerShell-Registerkarten als Administrator ausgeführt werden.