SCCM Hidden Operating System Deployment

Sodele,

wieder etwas aktuelles:

Ich habe intern die neue Windows Server 2019 Insider Preview Build eingepflegt. Diese soll allerdings nicht für alle Workstations erreichbar sein, auch wenn die Collection ausgewählt wurde, sondern nur durch ein „Hintertürchen“, wenn man dies so nennen möchte.

Als Anmerkung: Ich mag keine VBS Lösungen. Das übermächtige PowerShell ist mir da doch lieber. Ich werde mir da demnächst mal etwas kleines zusammen basteln. Wenn es klappt, setze ich dies hier hinein.

Als erstes müssen wir das hinterlegte Boot-Image anpassen.

Achtung: Damit nichts wichtiges gefährdet wird, sollte die boot.wim gesichert werden!

Schritt 1: Boot.WIM einbinden

Den entsprechenden Pfad einfach anlegen. WinPEMount gibt es schließlich nicht. Die Angabe des Index ist erforderlich, auch wenn nur ein Index existiert.

Schritt 2: Daten in den temporären Pfad kopieren

Kopiert wird hier die devel.vbs [LINK FOLGT]. In diesem Script wird eine temporäre Datei angelegt, die nach der Eingabe des Kennwortes überprüft wird. Ich schaue hier aber auch noch, ob ich nicht ein PowerShell Tool schreibe.

Schritt 3: Änderungen an der Boot.WIM bestätigen

Schritt 4: Boot Image im SCCM bearbeiten

Als Prestart Command folgendes eingeben:

Den Pfad zur check_hidden.vbs auswählen und den „command support“ aktiveren. Alles soweit bestätigen und abschließen.

Im SCCM PXE Menü F8 drücken und im Command Prompt „devel“ eingeben (das Script). Nach Eingabe des Kennwortes folgt eine Prompt zur Eingabe der Deployment ID. Nach dem Bestätigen wird das Deployment gestartet.

Falls man lieber ein eigenes Script entwickeln möchte, lässt sich nach der Eingabe des Kennwortes auch mit F8 direkt in der Konsole arbeiten. Hier aber immer mit Bedacht vorgehen 😉

Die Scripts:

 

Powershell – File Sys Watcher

Guten Abend,

ich habe die letzten Tage noch etwas für die Arbeit schreiben sollen: ein Script welches Daten automatisch in einen anderen Pfad kopiert, sobald diese erstellt werden. Nach ein wenig Sucharbeit bin ich über folgende Möglichkeit gestoßen: Über ein FileSystemWatcher Event bestimmte Abläufe auszuführen.

Weiterlesen

Remote Scripting

Guten Tag Leute,

wenn man auf einem Rechner etwas ausführen möchte, ohne direkt auf ihn zugreifen zu können, sei es über RDP oder einen VNC Client, muss man sich, zum Beispiel für eine Abfrage, per Kommandozeile mit dem Rechner verbinden. Seit vielen Wochen ist mein liebstes Tool dazu die PowerShell Konsole. Leider ist diese Konsole von haus aus nicht konfiguriert dafür remote ausgeführt zu werden.

Um weiter fortfahren zu können muss also ein anderer Weg gefunden werden auf den gewünschten Rechner zuzugreifen. Glücklicherweise gibt PowerShell und einen Hinweis woran das liegt: winrm. Dies soll mit einem Quickconfig ausgeführt werden.

Der beste Weg dies auszuführen und das gute Tool psexec. Ich liebe dieses Tool. Folgende Zeile ist notwendig um Remote auf PowerShell zugreifen zu können:

Da man PowerShell ja möglichst in der neuesten Version ausführen möchte, installiert man noch das Windows Management Framework 4.0. Nach dem Download erhält man eine *.msu, die man mit den Schaltern /quiet und /norestart auch bequem per Kommandozeile starten kann.

Mir haben dies Informationen bereits mehrfach geholfen, ich hoffe es hilft auch jemand anderem 🙂

PowerShell – Last Boot Time

Da ich in letztes Zeit ein paar Updates auf Windows XP-Rechnern durchführen durfte habe ich etwas gesucht, was mir die letzten Bootzeiten der Windows XP Maschinen anzeigen kann.

Warum nicht ein PowerShell Script dazu zusammenbasteln:

Theoretisch kann man sich das ganze natürlich auch als CSV exportieren lassen. Ich brauchte nur die Anzeige als solches, deswegen reicht das Script für mich aus.

Vielleicht hilft es ja mal irgendwem 😉