Skript-Editor
PowerShell-Skript-Editor
PowerShell-Skripteditor mit PSADT-Spezialfunktionen – Syntaxhervorhebung, IntelliSense, Sprungmarken für die PSADT-Abschnitte, Assistenten für EXE-/MSI-/Registry-Befehle und direkter Absprung in den Dateivergleich.

Der PowerShell Editor ist der Skripteditor von PSADT-PackageForge.
Er öffnet Invoke-AppDeployToolkit.ps1 und jede andere PowerShell-Datei, hebt sie farbig hervor, bietet Codefaltung, Minimap, Suchen/Ersetzen und eine Reihe von Werkzeugen, die speziell auf PSADT-Pakete zugeschnitten sind.
Das Fenster arbeitet in zwei Betriebsarten, die sich in der verfügbaren Werkzeugleiste unterscheiden:
|
Betriebsart |
Wann |
Besonderheit |
|
Paketeditor (Standard) |
Aufruf aus PSADT-PackageForge heraus für das Skript eines Pakets |
Voller Funktionsumfang; die Buttons Prüfen und Einstellungen sind ausgeblendet |
|
Direkter PS1-Modus |
Aufruf über die Dateizuordnung / den PS1-Wrapper für eine einzelne .ps1 |
Neu, Öffnen, Ausführen, Prüfen und Einstellungen sind ausgeblendet – das Fenster ist an genau diese eine Datei gebunden |
Zusätzlich hängt der Funktionsumfang von der Lizenz ab:
- Freeware-Lizenz: Vergleichen, Befehlsbrowser (Button, Schaltfläche und Kontextmenü-Eintrag) und Reg2Psadt sind deaktiviert.
- IntelliSense (Autovervollständigung für PSADT-Cmdlets) wird nur bei lizenzierter Installation geladen.
Dateizeile
|
Element |
Funktion |
|
Skriptname |
Zeigt den vollständigen Pfad der geladenen Datei (Tooltip: nur der Dateiname). Ohne geladene Datei steht hier der Standardname für ein neues Dokument. |
|
Roter Stern * |
Erscheint, sobald ungespeicherte Änderungen vorliegen, und verschwindet nach dem Speichern. Derselbe Hinweis steht zusätzlich im Fenstertitel. |
Werkzeugleiste
Linker Teil: Sprungmarken
Diese Buttons springen direkt an die entsprechende Stelle im PSADT-Skript.
Technisch wird der jeweilige Markertext gesucht und der Cursor in die Zeile darunter gesetzt; der Editor scrollt dorthin und erhält den Fokus.
Der Marker steht jeweils im Tooltip des Buttons.
|
Symbol |
Ziel |
Gesuchter Marker |
|
|
Software-Spezifikationen / Session-Definition |
$adtSession = @{ |
|
|
Vorbereitende Installationsschritte |
## <Perform Pre-Installation tasks here> |
|
|
Eigentliche Installation |
## <Perform Installation tasks here> |
|
|
Nacharbeiten zur Installation |
## <Perform Post-Installation tasks here> |
|
|
Vorbereitung der Deinstallation |
## <Perform Pre-Uninstallation tasks here> |
|
|
Eigentliche Deinstallation |
## <Perform Uninstallation tasks here> |
|
|
Nacharbeiten zur Deinstallation |
## <Perform Post-Uninstallation tasks here> |
|
|
Vorbereitung der Reparatur |
## <Perform Pre-Repair tasks here> |
|
|
Eigentliche Reparatur |
## <Perform Repair tasks here> |
|
|
Nacharbeiten zur Reparatur |
## <Perform Post-Repair tasks here> |
|
|
Erkennungsregel schreiben (SMF) |
## Set Software Footprint (SMF = Software Management Framework) |
|
|
Erkennungsregel entfernen (SMF) |
## Remove Software Footprint (SMF = Software Management Framework) |
|
|
Öffnet den konfigurierten PSADT-Paketstammordner im Windows-Explorer |
|
|
|
Hinweis: Fehlt ein Marker im Skript (z. B. weil das Skript kein PSADT-Template ist oder der Kommentar gelöscht wurde), passiert beim Klick nichts – es erscheint keine Fehlermeldung. |
Rechter Teil: Datei- und Bearbeitungswerkzeuge
|
Symbol |
Tastenkürzel |
Bedeutung |
|
|
Strg+W |
Öffnet einen zweiten, leeren Editor als eigenes Fenster. Das aktuelle Fenster bleibt unverändert geöffnet. |
|
|
Strg+N |
Leert den Editor für ein neues Skript. Bei ungespeicherten Änderungen wird vorher gefragt. Im direkten PS1-Modus ausgeblendet. |
|
|
Strg+O |
Öffnet den Dateidialog (PowerShell-Dateien). Bei ungespeicherten Änderungen wird vorher gefragt. Im direkten PS1-Modus ausgeblendet. |
|
|
Strg+S |
Speichert die Datei als UTF-8. Ist noch kein Pfad gesetzt, erscheint der Speichern-unter-Dialog. Der Button ist nur aktiv, solange es Änderungen gibt. |
|
- |
Öffnet PowerShell Compare mit der aktuellen Datei auf der linken Seite; die rechte Seite wählen Sie dort aus. Wurde im Vergleichsfenster die linke Datei gespeichert, lädt der Editor sie beim Schliessen automatisch neu. In der Freeware-Version deaktiviert. |
|
|
|
F5 |
Startet das Skript mit powershell.exe -ExecutionPolicy Bypass in einem eigenen Fenster. Bei ungespeicherten Änderungen wird gefragt, ob vorher gespeichert werden soll (Ja / Nein / Abbrechen). Ohne Dateipfad wird eine temporäre Kopie ausgeführt. Im direkten PS1-Modus ausgeblendet. |
|
|
Strg+Z |
Nimmt die letzte Änderung zurück (Editor-Verlauf). |
|
|
Strg+Y |
Stellt eine zurückgenommene Änderung wieder her. |
|
Strg+F |
Öffnet die Such- und Ersetzenleiste. |
|
|
Strg+Shift+B |
Öffnet den PSADT-Befehlsbrowser als eigenes Fenster (Nachschlagen). In der Freeware-Version deaktiviert. |
|
|
- |
Öffnet den PSADT-Variablenbrowser als eigenes Fenster (Nachschlagen). |
|
|
# |
Strg+Q |
Kommentiert die aktuelle Zeile bzw. die gesamte Auswahl. |
Editorbereich
Grundfunktionen
- PowerShell-Syntaxhervorhebung, Schriftart Consolas, keine automatische Zeilenumbrüche.
- Zeilennummern und ein blauer Pfeil links, der die Zeile des Cursors markiert.
- Codefaltung: PSADT-typische Blöcke lassen sich zusammenklappen. Die Faltmarken werden nach jeder Änderung automatisch neu berechnet (etwa eine halbe Sekunde nach der letzten Eingabe).
- IntelliSense (lizenzierte Version): Autovervollständigung für PSADT-Cmdlets. Der Editor sucht die Toolkit-Dateien (*.psm1 / *.ps1) im Umfeld des geöffneten Skripts und lädt alle gefundenen Module.
- Minimap am rechten Rand: Miniaturübersicht der gesamten Datei. Die Breite lässt sich über den blauen Trennbalken zwischen Editor und Minimap ziehen.
Kommentieren (Strg+Q oder der #-Button)
- Ohne Auswahl: Die Zeile am Cursor wird kommentiert bzw. das führende # entfernt.
- Mit Auswahl: Alle berührten Zeilen werden gemeinsam behandelt. Sind bereits alle nicht-leeren Zeilen kommentiert, wird entkommentiert (dabei wird ein Leerzeichen hinter dem # mit entfernt), sonst werden alle nicht-leeren Zeilen kommentiert. Leerzeilen bleiben unangetastet.
Codefaltung per Tastatur
|
Taste |
Funktion |
|
Strg+M |
Faltblock an der Cursorposition auf-/zuklappen. |
|
Strg+Shift+L |
Alle Faltblöcke zuklappen; sind bereits alle zu, werden sie alle aufgeklappt. |
Zoom
|
Taste |
Funktion |
|
Strg + Mausrad |
Stufenlos hinein-/herauszoomen. |
|
Zoom-Buttons in der Statusleiste |
In 10-%-Schritten. |
|
Bereich |
50 % bis 300 %, der aktuelle Wert steht in der Statusleiste. |
Kontextmenü (rechte Maustaste im Editor)
Die Einträge des Kontextmenüs passen sich der aktuellen Auswahl an: Steht im markierten Text bereits ein passender Befehl, wechselt der Eintrag von „Wizard" (neu erzeugen) auf „Edit" (vorhandenen Befehl bearbeiten) samt passendem Symbol.

|
Symbol |
Eintrag |
Funktion |
|
|
Befehlsbrowser |
Öffnet den PSADT-Befehlsbrowser im Einfüge-Modus: Der ausgewählte Befehl wird an der Cursorposition eingefügt. In der Freeware-Version deaktiviert. |
|
|
Variablenbrowser |
Öffnet den Variablenbrowser im Einfüge-Modus: Die ausgewählte Variable wird an der Cursorposition eingefügt. |
|
|
Start-ADTProcess (EXE) – Wizard / Edit |
Assistent für EXE-Aufrufe. Enthält die Auswahl bereits Start-ADTProcess, wird dieser Befehl in den Assistenten geladen und nach dem Bestätigen ersetzt; andernfalls wird der erzeugte Befehl in einer neuen Zeile eingefügt. |
|
|
Start-ADTMsiProcess (MSI, MSP, …) – Wizard / Edit |
Dasselbe für MSI-/MSP-Aufrufe mit Start-ADTMsiProcess. |
|
|
Registry – Wizard / Edit |
Registry-Assistent. Beginnt die Auswahl mit Set-ADTRegistryKey bzw. Remove-ADTRegistryKey, wird genau dieser Befehl bearbeitet und ersetzt. Ohne passende Auswahl erzeugt der Assistent neue Befehle; liefert er sowohl einen Setz- als auch einen Entfernen-Befehl, werden beide untereinander eingefügt. |
Suchen und Ersetzen
Strg+F oder der Lupen-Button öffnet die Leiste oben rechts im Editor.
Suchzeile
|
Symbol |
Eintrag |
Funktion |
|
|
Umschalt-Button |
Klappt die Ersetzen-Zeile auf bzw. wieder zu. |
|
|
Suchfeld |
Suchbegriff. Die Treffer werden während der Eingabe hervorgehoben. |
|
|
Optionen-Dropdown |
Gross-/Kleinschreibung beachten, Nur ganzes Wort, Regulärer Ausdruck. |
|
|
Vorheriger Treffer (F3) |
Vorheriger Treffer. |
|
|
Nächster Treffer (Shift+F3) |
Nächster Treffer. |
|
|
Schliessen |
Schliesst die Suchleiste. |
Ersetzen-Zeile (nach dem Aufklappen)
|
Symbol |
Eintrag |
Funktion |
|
|
Tauschen-Button |
Vertauscht Suchbegriff und Ersetzungstext miteinander. |
|
|
Ersetzungsfeld |
Der einzusetzende Text (darf leer bleiben – dann wird der Treffer gelöscht). |
|
|
Ersetzen |
Ersetzt den aktuell markierten Treffer und springt anschließend zum nächsten. Der Button ist nur aktiv, wenn die aktuelle Markierung tatsächlich dem Suchbegriff entspricht – so wird nie versehentlich beliebiger markierter Text überschrieben. |
|
|
Alle ersetzen |
Ersetzt alle Treffer im gesamten Dokument in einem Schritt und meldet die Anzahl. Ist nichts zu ersetzen, erscheint ein entsprechender Hinweis; bei einem ungültigen regulären Ausdruck eine Fehlermeldung. Die Option Nur ganzes Wort wird dabei berücksichtigt. |
Statusleiste
|
Anzeige |
Bedeutung |
|
Statusmeldung |
Rückmeldung zur letzten Aktion: Datei geladen, gespeichert, neues Dokument, Rückgängig/Wiederholen, Skript gestartet, Prüfergebnis, Ersetzungen usw. |
|
Zeile |
Eingabefeld mit der aktuellen Cursorzeile. Tippen Sie eine Zeilennummer ein und drücken Sie Enter (oder den kleinen Pfeil-Button, der beim Tippen erscheint) – der Cursor springt dorthin. Zu große oder zu kleine Werte werden auf die erste bzw. letzte Zeile begrenzt. |
|
Position |
Aktuelle Position des Cursors. |
|
Kodierung |
Die Datei wird als UTF-8 gelesen und als UTF-8 gespeichert. |
|
Zoom |
Aktuelle Vergrößerung, mit − und + in 10-%-Schritten verstellbar. |
Schaltflächen am unteren Rand
|
Schaltfläche |
BedeutungFunktion |
|
PowerShell Command Browser |
Öffnet den PSADT-Befehlsbrowser als eigenes Fenster zum Nachschlagen (ohne Einfügen). In der Freeware-Version deaktiviert. |
|
PowerShell Variables Browser |
Öffnet den Variablenbrowser als eigenes Fenster zum Nachschlagen. |
|
Öffnet das Fenster FileInfo – Dateieigenschaften einer EXE (Version, Hersteller usw.) für Erkennungsregeln und Skriptparameter. |
|
|
Öffnet das Fenster MsiInfo – Eigenschaften einer MSI-/MSP-Datei (ProductCode, Version usw.). |
|
|
Öffnet das Werkzeug Reg2Psadt, das .reg-Dateien in Set-ADTRegistryKey-Befehle umsetzt. In der Freeware-Version deaktiviert. |
|
|
Schließt den Editor. Bei ungespeicherten Änderungen wird zuvor gefragt (Ja / Nein / Abbrechen); Abbrechen und ein fehlgeschlagener Speichervorgang halten das Fenster offen. |
Speichern und ungespeicherte Änderungen
- Gespeichert wird immer UTF-8; ist noch kein Pfad gesetzt, erscheint der Speichern-unter-Dialog.
- Der Speichern-Button und der rote Stern zeigen jederzeit, ob es offene Änderungen gibt.
- Die Rückfrage erscheint vor Neu, Öffnen, Ausführen und Beenden:
|
Antwort |
Ergebnis |
|
Ja |
Datei wird gespeichert, danach läuft die Aktion weiter. Schlägt das Speichern fehl, wird abgebrochen. |
|
Nein |
Änderungen werden verworfen, die Aktion läuft weiter. |
|
Abbrechen |
Die Aktion wird nicht ausgeführt. |
Tastenkürzel im Überblick
Zoom
|
Taste |
Funktion |
|
Strg+N |
Neues Skript |
|
Strg+O |
Datei öffnen |
|
Strg+S |
Speichern |
|
Strg+W |
Neues Editorfenster |
|
Strg+Z / Strg+Y |
Rückgängig / Wiederholen |
|
Strg+F |
Suchen/Ersetzen öffnen |
|
F3 / Shift+F3 |
Nächster / vorheriger Treffer |
|
Strg+Q |
Kommentar ein/aus |
|
Strg+M |
Faltblock auf-/zuklappen |
|
Strg+Shift+L |
Alle Faltblöcke auf-/zuklappen |
|
Strg+Shift+B |
Befehlsbrowser |
|
Strg + Mausrad |
Zoom |
Typische Arbeitsabläufe
Ein PSADT-Paketskript anpassen
- Skript aus PSADT-PackageForge heraus öffnen.
- Über die Sprungmarken direkt in den gewünschten Abschnitt springen (z. B. Installation).
- Mit dem Kontextmenü den passenden Assistenten aufrufen – EXE, MSI oder Registry – und den erzeugten Befehl einfügen.
- Mit F7 die Klammerung prüfen, mit Strg+S speichern.
Einen vorhandenen Befehl ändern
- Den kompletten Befehl im Editor markieren.
- Rechtsklick – der Eintrag lautet jetzt „Edit" statt „Wizard".
- Im Assistenten anpassen, bestätigen – der markierte Befehl wird ersetzt.
Gegen eine Referenzfassung abgleichen
- Vergleichen klicken – das aktuelle Skript steht links.
- Rechts die Referenzdatei wählen und die Unterschiede zusammenführen.
- Nach dem Speichern im Vergleichsfenster lädt der Editor die Datei automatisch neu.
Hinweise und Grenzen
- Ausführen startet das Skript ohne Einschränkung mit umgangener Execution Policy. Bei PSADT-Skripten bedeutet das eine echte Installation bzw. Deinstallation – nur auf Testsystemen verwenden.
- Sprungmarken funktionieren nur bei Skripten, die den PSADT-Template-Aufbau verwenden.
- Die Codefaltung wird verzögert aktualisiert; unmittelbar nach dem Tippen kann sie kurz veraltet sein.
- Der Button Einstellungen ist derzeit ohne Funktion.
- Die Oberfläche ist mehrsprachig (MUI); fehlt ein Text in der gewählten Sprache, wird der englische Standardtext angezeigt.




































