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
|
DISM /mount-wim /wimfile:"\\SCCM-Server\SMS_LKR\OSD\boot\x64\boot.wim" /index:1 /mountdir:C:\WinPEMount\X64\ |
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
|
copy '\\SCCM-Server\SMSStore\SWDepot\OSD\Tools\hidden_boot_images\devel.vbs' C:\WinPEMount\X64\Windows\System32\ -verbose |
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
|
DISM /unmount-wim /mountdir:c:\WinPEMount\x64 /commit |
Schritt 4: Boot Image im SCCM bearbeiten
Als Prestart Command folgendes eingeben:
|
cscript.exe //nologo check_hidden.vbs |
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:
|
Dim env Set env= CreateObject("Wscript.Shell") env.RUN"cmd /C " & CHR(34) &"netsh int ip show config Local > X:\hidden.txt " & CHR(34), 0, True 'MsgBox "DEVEL mode Enabled !" wscript.quit |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
' lukas.kurth.rocks (c) 2018/03/22 Option Explicit DIM fso Set fso = CreateObject("Scripting.FileSystemObject") 'Check if Development Mode has been selected If (fso.FileExists("x:\hidden.txt")) Then 'WScript.Echo("Development activated, hidden.txt exists!") ' Devel mode was selected so display the Prestart prompt Dim env set env = CreateObject("Microsoft.SMS.TSEnvironment") env("SMSTSPreferredAdvertID") = InputBox ("Please enter the Task Sequence Deployment ID eg: P0120038 and click [OK] or click [Cancel] to continue.") 'MsgBox "The following Task Sequence Advertisement ID will be selected: " & env("SMSTSPreferredAdvertID") Else 'WScript.Echo("The hidden.txt File does not exist so will not change SMSTSPreferredAdvertID!") End If WScript.Quit() |