DISM Archive - Daniel Gutermuth https://danielgutermuth.de/tag/dism/ IT Blog Wed, 15 Dec 2021 14:08:25 +0000 de hourly 1 Windows – Mit DISM die Registry eines Offline Images bearbeiten https://danielgutermuth.de/microsoft/windows10-11/windows-mit-dism-die-registry-eines-offline-images-bearbeiten/ Wed, 08 Dec 2021 10:36:20 +0000 https://danielgutermuth.de/?p=859 Das bereits vorgestellte Tool DISM (Deployment Image Servicing and Management) enthält allerlei Möglichkeiten der individuellen Anpassung von Windows Images. In diesem Beitrag wird mit dem [...]

Der Beitrag Windows – Mit DISM die Registry eines Offline Images bearbeiten erschien zuerst auf Daniel Gutermuth.

]]>
Das bereits vorgestellte Tool DISM (Deployment Image Servicing and Management) enthält allerlei Möglichkeiten der individuellen Anpassung von Windows Images.

In diesem Beitrag wird mit dem Bearbeiten der Offline-Registry ein weiterer DISM Anwendungsfall gezeigt.

Voraussetzungen

  • Windows ISO
  • Windows ADK

Für Informationen und Erklärungen bitte diesen Beitrag beachten. Die dort gezeigten Schritte werden im weiteren Verlauf vorausgesetzt!

Lösung

Eine PowerShell-Sitzung als Administrator starten.

Anschließend die Install.WIM mounten, um damit arbeiten zu können.

Hinweis: Der Befehl ist an dieses Beispiel angepasst. Die Pfade und der Index müssen dementsprechend geändert werden.

sdism /mount-wim /wimfile:C:\temp\WIM\install.wim /mountdir:C:\temp\Mount /index:3

Der Vorgang kann einen kurzen Moment dauern. Nach Abschluss ist die Arbeitsumgebung vorbereitet.

Damit die Registry des Offline Images geladen werden kann, muss ein entsprechender Befehl in der PowerShell ausgeführt werden. Hier ist es notwendig, einen Teil des Pfades individuell anzupassen.

Es besteht die Auswahl zwischen SOFTWARE, DEFAULT, DRIVERS, SAM und SYSTEM, welche jeweils im Befehl anzugeben sind.

reg load HKLM\OFFLINE MOUNTPFAD\Windows\System32\Config\Software
reg load HKLM\OFFLINE MOUNTPFAD\Windows\System32\Config\Default
reg load HKLM\OFFLINE MOUNTPFAD\Windows\System32\Config\Drivers
reg load HKLM\OFFLINE MOUNTPFAD\Windows\System32\Config\Sam
reg load HKLM\OFFLINE MOUNTPFAD\Windows\System32\Config\System

In diesem Beispiel wird SOFTWARE geladen.

Nun über die Windows-Suche die Registry mit regedit öffnen und über Computer\HKEY_LOCAL_MACHINE\OFFLINE in die geladene Offline-Registry navigieren und dort gewünschte Änderungen vornehmen.

Sobald die Arbeiten beendet sind, die Registry schließen und über PowerShell entladen.

reg unload HKLM\OFFLINE

Am Beispiel:

Zum Schluss müssen die gemachten Änderungen übernommen und das Image ausgebunden werden. Dazu einen letzten, angepassten PowerShell-Befehl eingeben und bestätigen.

Hinweis: Wenn man es sich doch anders überlegt hat, dann /Commit mit /Discard tauschen. Dadurch werden alle Änderungen verworfen.

dism /Unmount-Image /MountDir:C:\temp\Mount /Commit

Unmount anhand des Beispiels:

Anschließend kann die bearbeitete Install.WIM in Windows-Installationsdatenträgern eingebunden werden.

Der Beitrag Windows – Mit DISM die Registry eines Offline Images bearbeiten erschien zuerst auf Daniel Gutermuth.

]]>
Windows 10 / 11 – Angepasstes Image mit DISM erstellen https://danielgutermuth.de/microsoft/windows10-11/windows-10-11-angepasstes-image-mit-dism-erstellen/ Wed, 08 Dec 2021 00:03:10 +0000 https://danielgutermuth.de/?p=804 Für Privatanwender sind die Standard-Windows-ISOs in 99% der Fälle völlig ausreichend, da der Heimrechner nicht alle Tage oder Wochen neu installiert wird und keine spezifischen [...]

Der Beitrag Windows 10 / 11 – Angepasstes Image mit DISM erstellen erschien zuerst auf Daniel Gutermuth.

]]>
Für Privatanwender sind die Standard-Windows-ISOs in 99% der Fälle völlig ausreichend, da der Heimrechner nicht alle Tage oder Wochen neu installiert wird und keine spezifischen Anpassungen vonnöten sind.

Bei Unternehmen sieht das schon wieder ganz anders aus. Hier kann es durchaus vorkommen, dass regelmäßig PC aufgesetzt und bereitgestellt werden müssen. Eine Standard-Windows-ISO ist hierbei eher mit Mehrarbeit verbunden und kann damit nicht eingesetzt werden.

Für diese Zwecke gibt es das Tool DISM (Deployment Image Servicing and Management). Mit Hilfe dieses Tools können Windows Images beliebig angepasst werden. So ist es u. a. möglich vorinstallierte Apps zu entfernen, Windows-Features zu aktivieren oder zu deaktivieren, Windows-Updates hinzuzufügen und vieles mehr. Ziel ist es ein „Golden Image“ zu erstellen, welches als Basisvorlage für alle weiteren Bereitstellungen dient und den Arbeitsaufwand verringert.

In diesem Beitrag werden die Installation und Konfiguration der Bereitstellungstools, sowie die Funktionsweise und einige Möglichkeiten erläutert.

Hinweis: Alles auf eigene Gefahr!

Lösung

Zuerst wird eine Windows 10 oder Windows 11 ISO benötigt.

Hinweis: Windows Server wäre ebenfalls möglich. Der Fokus hier liegt aber auf Clients.

Anschließend das Windows Assessment and Deployment Kit (Windows ADK) herunterladen und installieren.

Den Lizenzvertrag annehmen.

Die Feature-Auswahl auf Standard belassen und Installieren klicken.

Hinweis: Es müssen nicht alle Tools installiert werden! Die Bereitstellungstools würden hier auch ausreichen.

Nach Abschluss der Installation den Setup mit Schließen beenden.

Im nächsten Schritt empfehle ich drei Ordner anzulegen:

  • WIM: Hier wird die Install.WIM aus der Windows ISO hineinkopiert
    • Die Install.WIM ist in der Windows ISO im Ordner Sources zu finden.
  • ISO: Hier wird die komplette Windows-ISO entpackt.
  • Mount: Hier wird die WIM gemountet („Arbeitsumgebung“).

Die Ordner WIM und ISO befüllen.

Eine PowerShell-Sitzung als Administrator starten.

Bevor es losgehen kann, muss der Index der zu verwendeten Windows-Version herausgefunden werden.

Für Unterhemen wäre das Windows Pro oder Windows Enterprise. In diesem Beispiel dient die Enterprise-Version als Basis.

Herausgefunden werden kann dies mit folgendem PowerShell-Befehl:

dism.exe /get-imageinfo /imagefile:PfadZurInstallWIM

Der Output sieht ungefähr wie im unteren Bild aus. Da in diesem Bespiel mit Windows Enterprise gearbeitet werden soll, muss Index 3 „gemerkt“ werden.

Jetzt ist es an der Zeit die Install.WIM zu mounten, um damit arbeiten zu können. Vereinfacht gesagt, wird hier der Arbeitsbereich eingerichtet.

Dazu wieder in die PowerShell wechseln und mit folgendem Befehl die Install.WIM aus dem WIM-Ordner mit Index 3 in den Ordner Mount anhängen.

Hinweis: Der Befehl ist an dieses Beispiel angepasst. Die Pfade und der Index müssen dementsprechend geändert werden.

sdism /mount-wim /wimfile:C:\temp\WIM\install.wim /mountdir:C:\temp\Mount /index:3

Der Vorgang kann einen kurzen Moment dauern.

Damit ist die Arbeitsumgebung vorbereitet und die Arbeit kann beginnen.

Windows wird bekanntermaßen mit allerlei Apps ausgeliefert, welche in Unternehmensumgebungen eher keine Verwendung finden und daher entfernt werden sollten.

Um einen Überblick der vorhandenen Apps zu erhalten, wieder in die PowerShell gehen und wie folgt ausführen:

dism.exe /image:C:\temp\Mount /Get-ProvisionedAppxPackages > C:\temp\software.txt

Hinweis: Der Befehl schreibt den Output in eine Textdatei namens Software.txt und legt diese im definierten Pfad C:\temp\software.txt ab. Für mich ist das übersichtlicher, als den kompletten Output in einem PowerShell-Fenster zu haben. Natürlich kann man es auch weglassen. Dafür muss alles nach Get-ProvisionedAppxPackages entfernt werden.

Der Output sieht ungefähr so aus:

Aus dieser Liste nun den PackageName jeder App heraussuchen die entfernt werden soll.

Hinweis: Leider kann nicht jede App entfernt werden. Dazu gehören Microsoft Edge, Cortana und ein paar andere Apps. Des Weiteren gibt es Apps die zwar entfernt werden könnten, aber nicht unbedingt sollten. Als Beispiel sei hier der Microsoft Store erwähnt. Dieser sollte lieber per GPO deaktiviert werden, da er ggf. später einmal benötigt werden könnte.

Eine Beispielliste an zu entfernenden Apps:

Um diese Apps zu entfernen, muss in PowerShell gewechselt werden und folgender Befehl mit dem entsprechenden PackageName abgesetzt werden:

(Als Beispiel mit der oberen App-Liste)

dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Microsoft3DViewer_6.1908.2042.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MicrosoftOfficeHub_18.1903.1152.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MicrosoftSolitaireCollection_4.4.8204.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MixedReality.Portal_2000.19081.1301.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.People_2019.305.632.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.SkypeApp_14.53.77.0_neutral_~_kzf8qxf38zg5c
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Wallet_2.4.18324.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsAlarms_2019.807.41.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsMaps_2019.716.2316.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Xbox.TCUI_1.23.28002.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxApp_48.49.31001.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxGameOverlay_1.46.11001.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxGamingOverlay_2.34.28001.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxIdentityProvider_12.50.6001.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxSpeechToTextOverlay_1.17.29001.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.YourPhone_2019.430.2026.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneMusic_2019.19071.19011.0_neutral_~_8wekyb3d8bbwe
dism.exe /image:C:\temp\Mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneVideo_2019.19071.19011.0_neutral_~_8wekyb3d8bbwe

Auch hier kann es eine Weile dauern, bis der Vorgang abgeschlossen ist.

Optional können auch Windows Features aktiviert oder deaktiviert werden.

In diesem Beispiel deaktiviere ich das unsichere SMB1-Protokoll.

dism.exe /image:C:\temp\Mount /disable-feature /featurename:smb1protocol

Ebenso ist es möglich dem Image Windows-Updates hinzuzufügen.

Dafür müssen die entsprechenden Updates vom Microsoft Update Katalog heruntergeladen, der individuelle Pfad im PowerShell-Befehl angegeben und dieser anschließend ausgeführt werden:

Dism /Add-Package /Image:C:\temp\Mount /PackagePath=C:\temp\windows10.0-kb4456655-x64_fca3f0c885da48efc6f9699b0c1eaf424e779434.msu

Zum Schluss müssen die gemachten Änderungen noch übernommen werden. Auch hierzu gibt es einen PowerShell-Befehl:

Hinweis: Möchte man die Schritte rückgängig machen, so einfach den Befehl mit /discard statt /commit ausführen.

dism.exe /unmount-wim /mountdir:C:\temp\Mount /commit

Nach Abschluss kann das PowerShell-Fenster geschlossen werden.

Im letzten Schritt muss die ursprüngliche Install.WIM im ISO-Ordner mit der bearbeiteten Install.WIM aus dem WIM-Ordner überschrieben werden.

Anschließend sind die Daten im ISO-Ordner bereit auf einem Windows-installationsdatenträger bereitgestellt zu werden.

Weitere Informationen sind direkt bei Microsoft zu finden.

Der Beitrag Windows 10 / 11 – Angepasstes Image mit DISM erstellen erschien zuerst auf Daniel Gutermuth.

]]>