Tags: Kommandozeile, Rechteverwaltung
Kaum eine andere Anwendung muss man so häufig mit erhöhten Rechten starten wie einen Kommandointerpreter, beispielsweise cmd.exe oder PowerShell. In Windows Terminal kann man die Erhöhung der Privilegien für einzelne oder alle Shells konfigurieren. Es wartet dabei aber mit einigen Inkonsistenzen und Eigenheiten auf.
Im Unterschied zum herkömmlichen Konsolen-Host führt Windows Terminal die verschiedenen Kommandozeilen in Registerkarten aus, wobei jede Shell über ein eigenes Profil konfiguriert werden kann.
Zu den Einstellungen eines Profils gehört auch die Option, die betreffende Shell mit erhöhten Rechten zu starten. Per Voreinstellung öffnet Windows Terminal jedoch alle automatisch eingerichteten Profile im Kontext des aktuell angemeldeten Kontos.
Administratives Profil anlegen
Um eine Shell für administrative Zwecke zu konfigurieren, kann man sich die Funktion zum Duplizieren vorhandener Profile zunutze machen. Dazu öffnet man die Einstellungen und führt den Befehl Neues Profil hinzufügen aus.
Im darauf folgenden Dialog wählt man ein bestehendes Profil aus, das man kopieren möchte, und klickt auf Duplikat. Anschließend öffnen sich die Einstellungen dieses neuen Profils und man kann dort dessen Namen ändern und die Option Dieses Profil als Administrator ausführen aktivieren.
Dieses neue Profil taucht nach dem Speichern sofort in der Drop-down-Liste auf und kann direkt gestartet werden. Erwartungsgemäß erscheint der Dialog für die Authentifizierung unter einem administrativen Konto.
Eigene Fenster für Admin-Shells
Nach erfolgreicher Anmeldung öffnet die Kommandozeile jedoch nicht in einem neuen Tab, sondern in einem eigenen Fenster. Dies ist nicht ganz überraschend, weil das betreffende Programm als Kindprozess des Terminals gestartet wird.
Öffnet man jedoch eine weitere Instanz der administrativen Shell, dann erscheint diese nicht als Tab im bereits bestehenden Admin-Terminal, sondern erneut in einem separaten Fenster.
Alle Shells als Admin starten
Möchte man Windows Terminal nur für administrative Zwecke nutzen, dann kann aktiviert in den Einstellungen unter Profile => Standardwerte die Option Dieses Profil als Administrator ausführen. Damit erspart man sich den umständlichen Aufruf des Terminals als Administrator.
Nachdem das Icon in der Taskleiste diese Möglichkeit nicht bietet, müsste man dafür den Umweg über die Suche nehmen.
Eine weitere Eigenheit von Windows Terminal besteht darin, dass es beim nächsten Start alle Shells mit erhöhten Rechten öffnet, wenn man die Administrator-Option für das Standardprofil gewählt hat. Per Vorgabe handelt es sich dabei um Windows PowerShell.
Man erhält dann keinen Zugang mehr zu den Einstellungen des ursprünglichen Benutzers, um diese Änderung rückgängig zu machen (außer über das Editieren der JSON-Datei).
Fehler im Admin-Kontext
Bei Windows Terminal handelt es sich um eine Store-App und setzt entsprechend voraus, dass sie für jeden Benutzer installiert wird. Abhängig davon, wie das Terminal auf den Rechner gelangt ist, kann die Ausführung als Administrator scheitern, wenn es für das betreffende Konto nicht vorhanden ist.
Lädt man das Programm vom Store, dann richtet die Store App das Windows Terminal für alle User ein. Installiert man es hingegen unter einem Standardkonto über das Sideloading des MSIX-Bundles, dann fehlt es im Profil des administrativen Accounts und bewirkt entsprechend eine Fehlermeldung, wenn man ein Profil mit erhöhten Rechten starten will.
In diesem Fall schafft die zusätzliche Installation von Windows Terminal unter dem privilegierten Benutzer normalerweise Abhilfe. Bei einigen Previews von Windows 11 kann es jedoch vorkommen, dass die Ausführung eines Profils als Admin auch dann scheite
Fazit
Die Ausführung von Kommandozeilen in Registerkarten eines einzigen Terminalfensters kommt zwar den Benutzerkomfort zugute, macht aber das Starten von Shells mit erhöhten Rechten komplizierter. Windows Terminal sieht eine entsprechende Option für jedes einzelne Profil oder für alle Shells vor.
Entscheidet man sich dafür, einzelne Profile für die Anhebung der Berechtigungen zu konfigurieren, dann öffnen diese stets ein eigenes Fenster, was eigentlich dem Konzept der Anwendung widerspricht.
Als Hindernis erweist sich zudem die fragwürdige Entscheidung, Windows Terminal als Store App zu implementieren. Abhängig davon, wie das Tool installiert wurde, kann der Aufruf als Admin scheitert.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
- Icacls, Takeown, PowerShell: Besitzer von Dateien unter NTFS ändern
- icacls, Get-ACL: Dateirechte anzeigen auf der Kommandozeile und in PowerShell
- Farbe von cmd.exe abhängig von erhöhten Rechten
- Microsoft Entra ergänzt Azure Active Directory um Berechtigungs-Management und Verified ID
- User Account Control (UAC): Mit PIN anmelden, Einstellungen per GPO konfigurieren
Weitere Links
7 Kommentare
Wenn es nur um einzelne Befehle geht, die ich mit mehr Rechten ausführen möchte, dann nehme ich auf von mir kontrollierten Windows-Maschinen gern gsudo:
https://github.com/gerardog/gsudo
Man kann damit auch im bereits geöffneten Terminal eine ganze Shell mit Adminrechten starten. Ich verstehe bis heute nicht, weshalb man das Terminal mit Adminrechten starten will, wenn man doch nur eine Shell mit eben diesen Rechten braucht.
Ich sehe derzeit in "Terminal" kaum Mehrwerte aus "Admin" Perspektive, daher nutze ich primär:
cmd als Administrator ...
Das mit dem Mehrwert kann man so sehen. "cmd als Administrator" läuft auf dem alten Konsolen-Host. Mal schauen, wie lange der noch an Bord ist. Das Windows Terminal wird unter Windows 11 bereits zum Standard.
Ich denke aus Kompatibilitäts-Gründen wird "cmd.exe" nicht so schnell verschwinden. Bis dahin wird Microsoft vermutlich noch etliche Verbesserungen in Windows-Terminal einfließen lassen.
Danke für den Beitrag Wolfgang, das ist sehr hilfreich, wenn man die Vorteile von Windows Terminal nutzen will.
Für mich gibt es da einige, z.B. Lesbarkeit und Skalierbarkeit, Tabs, Rendering von PowerShell nutzen will.
Es ist unwahrscheinlich, das cmd verschwinden wird. Auch solange Windows Terminal nicht die Default Console auf Windows Server 2024 werden wird (allein schon mangels Store Anbindung) wird uns wohl immer die Wahl bleiben.
p.s. über Windowstaste + X kann man PowerShell / Windows Terminal auch ohne Einstellungen als Admin starten, dennoch für neue Tabs ist die Anleitung sehr hilfreich.
Die cmd.exe wird natürlich noch länger bleiben, aber im Kontext von Windows Terminal. Meine Prognose bezog sich auf den alten Konsolen-Host.
Verstehe Wolfgang. Ja dieser Prozess könnte obsolet werden. Dennoch, solange es kein Terminal in Windows Server gibt, wird MSFT es nur sehr unwahrscheinlich entfernen. Bislang hat man sich allergrößte Mühe gegeben Core Funktionen in Client und Windows Server identisch zu halten, sogar in Bezug auf andere Features.
Lassen wir uns überraschen :)