Eine Referenz kleiner Tools für die Kommandozeile unter Windows
Eine Referenz für eine bestimmte und etwas unbequeme Art von Dokumentation: Anleitungen für Tools für die Kommandozeile unter Windows, die vor zwanzig Jahren Freeware waren, heute nicht mehr verteilt werden und trotzdem in Handbüchern, Forenantworten und internen Wikis stehen, denen Menschen weiter folgen. Jede Seite hier entschlüsselt die Syntax eines solchen Werkzeugs und benennt den unterstützten Befehl, der die Aufgabe heute übernimmt.
Die Übersicht
- Dienstrechte
Zwölf Zugriffsrechte und vier Sammelrechte auf einem Dienst oder Treiber. Die Zugriffsmaske, die Win32-Konstante und das SDDL-Kürzel zu jedem, plus die Lesen-Ändern-Schreiben-Regel, die verhindert, dass man sich selbst aussperrt.
- Remote-Shutdown
Welche Energiezustände eine Remote-Schnittstelle haben und welche nicht, warum der Ruhezustand über das Netz abgewiesen wird, und was ein Werkzeug wirklich tut, das Remote-Ruhezustand trotzdem anbietet.
- Anderer Benutzer
Sekundäre Anmeldung, drei Schreibweisen desselben Vorgangs, warum ein gespeichertes Kennwort ein Kennwortspeicher ist, und das Privileg, an dem man ein unsicheres RunAs-Werkzeug erkennt.
- Explorer-Tags
Warum Metadaten in einem Programm erscheinen und im anderen nicht, was die Shell zurückschreibt, und wie eine fremde Registerkarte in einen Eigenschaftendialog kam. Der Mechanismus ist unverändert.
- Die neun Dienstprogramme
Hardlinks, Fehlercodes, Zwischenablage, Umgebungsvariablen, Akkuzustand, Kontoinformationen. Sieben haben eingebaute Nachfolger; die Schaltertabellen stehen vollständig da.
- Werkzeuge
Die vier Bereiche nebeneinander, die Konventionen der Zeit und ein Block unterstützter Befehle nach Aufgabe.
Warum diese Werkzeuge überhaupt gebraucht wurden
Windows NT trennte ab 1993 sauber zwischen Kern und Benutzermodus, brachte NTFS mit Zugriffslisten und ein Rechtemodell, das dem von Unix in vielem voraus war, und lieferte eine Oberfläche mit, die davon wenig zeigte. Wer eine Zugriffsliste auf einem Dienst ändern, einen Hardlink anlegen oder ein Programm unter einem zweiten Konto starten wollte, fand dafür jahrelang keinen Befehl im Lieferumfang, obwohl die Schnittstelle darunter vollständig vorhanden und dokumentiert war.
In diese Lücke schrieben Einzelne kleine Konsolenprogramme, meist als Freeware, meist mit einem einzigen Zweck und einem Hilfetext, der auf einen Bildschirm passte. Der Bestand, den diese Referenz behandelt, stammt aus dieser Zeit und aus dieser Haltung. Er ist deshalb auch kein Kuriositätenkabinett, sondern eine ziemlich genaue Bestandsaufnahme dessen, was der Plattform damals an Bedienbarkeit fehlte, und was inzwischen nachgeliefert wurde.
Was die Syntax-Notation bedeutet
Dokumentation dieser Zeit ist auf eine bestimmte Weise dicht, und zwei Konventionen tragen
den größten Teil der Bedeutung. Schalter beginnen mit einem Schrägstrich und sind oft
einzelne Buchstaben, mit der Langform in Klammern im Hilfetext: /R[eboot]
heißt, dass das Werkzeug beides annimmt. Und eine Menge von Rechten wird als Folge von
Buchstaben geschrieben statt als Liste, eine Maske ist also eine Zeichenfolge.
down [\\COMPUTER [/C | /I]] [/R | /L | /P | /S | /H | /A] [/Q] [/F] [Zeit] [Meldung]
↑ eine Aktion pro Aufruf, aus einer Gruppe gewählt
scacl.exe [\\MACHINE] dienst [/E] [/G Benutzer:Maske] [/D Benutzer:Maske]
↑ eine Maske ist eine Buchstabenfolge Für den Lesenden folgt daraus, dass die interessante Information meist in einer Tabelle unter der Syntaxzeile steht und nicht in der Syntaxzeile selbst. Eine Syntax-Zusammenfassung nennt die Form des Aufrufs; die Buchstabentabelle nennt seine Wirkung. Beide stehen auf der Seite zum jeweiligen Werkzeug, denn eines ohne das andere genügt nicht, um zu beurteilen, ob eine Anweisung gefahrlos befolgt werden darf.
Aufbau jeder Seite
- Einstieg
- welcher Teil des Systems den Vorgang besitzt: das entscheidet alles Weitere
- Originalsyntax
- der Hilfetext und die Schaltertabelle, wie das Werkzeug sie ausgab
- Referenztabellen
- Rechte, Konstanten, Kürzel oder Formatfelder: je nachdem, worauf der Bereich beruht
- Heutige Entsprechung
- der unterstützte Befehl, mit benannten Unterschieden
- Wo es abweicht
- Fälle, in denen der alte Weg heute bewusst nicht unterstützt ist
Warum kleine Tools für die Kommandozeile eine Referenz verdienen
Weil das Muster hinter ihnen berechenbar ist. Fast jedes dieser Tools für die Kommandozeile unter Windows war eine dünne Hülle um eine Fähigkeit, die das Betriebssystem längst hatte und nicht mit einem Befehl zugänglich machte: Hardlinks auf NTFS, Zugriffslisten von Diensten, sitzungsbezogene Laufwerksbuchstaben, Dateimetadaten in der Shell. Das Werkzeug war die Lücke, nicht die Funktion.
Deshalb sind die Nachfolger fast alle eingebaute Befehle und keine anderen Fremdprogramme, und deshalb sind die hier beschriebenen Objektmodelle weiter zutreffend. Wer in einer alten Anweisung ein unbekanntes Werkzeug findet, fragt am besten nicht „wo lade ich das herunter", sondern „welche Schnittstelle hat es umhüllt". Diese Schnittstelle existiert mit hoher Wahrscheinlichkeit weiter und hat heute mit hoher Wahrscheinlichkeit einen eigenen Befehl.
Umfang dieser Referenz unter Windows
Sie dokumentiert und verteilt nicht. Keine Binärdateien, keine Archive, keine Spiegel. Jede Seite nennt den heute unterstützten Weg, und wo es keinen gibt, steht das da, statt etwas vorzuschlagen, das sich in einem wesentlichen Punkt anders verhält.
Der Gegenstand ist absichtlich schmal: Tools für die Kommandozeile aus einer Epoche, und die Schnittstellen darunter. Sie ist außerdem kein allgemeiner Kommandozeilen-Kurs. Das Material setzt voraus, dass eine Syntaxzeile lesbar ist und Begriffe wie Dienst und Token bekannt sind; geliefert werden die konkrete Notation, die konkreten Rechte und die konkrete Zuordnung von einem alten Schalter zu einem heutigen. Zu jeder Seite existiert eine deutsche und eine englische Fassung, jeweils für ihr Publikum geschrieben.
Fragen zu dieser Referenz
Wozu dient diese Referenz?
Zum Entschlüsseln von Anleitungen für Werkzeuge, die nicht mehr verteilt werden, und zum Finden des unterstützten Befehls, der dieselbe Aufgabe erledigt. Jede Seite stellt eine originale Schaltertabelle neben ihre heutige Entsprechung, damit eine fünfzehn Jahre alte Handbuchzeile gelesen statt hoffnungsvoll kopiert wird.
Gibt es die Programme hier zum Herunterladen?
Nein. Von dieser Seite wird nichts verteilt. Die LS-Tools waren Freeware für Windows NT und Windows 2000, die Shell-Erweiterung zusätzlich für Windows 9x; gepflegt wird davon nichts mehr, und jede Fähigkeit hat einen unterstützten Ersatz. Auf den jede Seite zeigt.
Mit welcher Seite fange ich an?
Mit den Dienstrechten, falls ein Dienst von einem Konto ohne Administratorrechte gesteuert werden soll. Das ist das häufigste echte Problem in diesem Material und der Bereich, in dem das Objektmodell unverändert ist. Das Gelernte gilt also direkt auf einem aktuellen System.
Warum sind alte Schalterbuchstaben wichtig?
Weil ein Buchstabe ein Zugriffsrecht ist und der falsche den Unterschied macht zwischen „darf diesen Dienst neu starten" und „darf das Programm austauschen, das dieser Dienst ausführt". Die Buchstaben verdichten eine echte Sicherheitsentscheidung auf ein Zeichen: effizient und unnachsichtig.
Gilt das für eine bestimmte Windows-Version?
Die ursprünglichen Werkzeuge zielten auf Windows NT 4.0 und Windows 2000. Die Objektmodelle, die sie sichtbar machten, existieren alle weiter: Sicherheitsdeskriptoren von Diensten, der Weg der sekundären Anmeldung, Eigenschaften-Handler der Shell. Die Ausnahme ist die Energieverwaltung: jene Schnittstelle ist älter als ACPI und lässt sich nicht mehr sauber abbilden.
Braucht etwas davon Administratorrechte?
Das Bearbeiten einer Dienst-Zugriffsliste ja, auf dem geänderten Objekt. Ein Remote-Shutdown braucht ein bestimmtes Recht auf dem Ziel. Alles andere läuft als gewöhnliches Konto: Deskriptoren lesen, ein Token prüfen, eine Fehlernummer übersetzen, einen Hardlink in einem beschreibbaren Verzeichnis anlegen.
Wie aktuell sind die genannten Ersatzbefehle?
Alle gehören zum Lieferumfang unterstützter Windows-Versionen und sind vom Hersteller dokumentiert. Wo es keinen eingebauten Ersatz gibt, steht das auf der Seite ausdrücklich, statt einen Ersatz vorzuschlagen, der etwas subtil anderes tut.
Gibt es die Inhalte auch auf Englisch?
Ja. Zu jeder Seite existiert eine englische Fassung zum selben Thema, erreichbar über die Sprachauswahl in der Kopfzeile: geschrieben für ihr Publikum.