Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Custom Windows-10-ISO bauen (in kontinuierlicher Verbesserung)

Mitglied: beidermachtvongreyscull

beidermachtvongreyscull (Level 2) - Jetzt verbinden

24.07.2019, aktualisiert 28.08.2019, 4911 Aufrufe, 26 Kommentare, 9 Danke

Einleitung:
Guten Tag liebe Kollegen. Es ist schon etwas länger her, dass ich einen Beitrag verfasst habe, aber vielleicht ergeht es Euch auch so, dass man sich ein neues ISO von Windows 10 runterlädt und anstatt nach der Installation Bloatware, überflüssige Appx, OneDrive und andere nicht benötigte Dienste zu entfernen oder zu deaktiveren, dies lieber bereits in der ISO so vorliegen haben wollen.

Ich beschreibe den Weg so gut es geht. Der Grund, warum ich es so mache: Ich habe mit keinem von Microsoft vorgegebenen Werkzeug einen Weg gefunden, ein gewisses Unbloating von W10 hinzubekommen.

Zwei Wege sind möglich:

1. Weg - Kompatibel mit Windows-Updates

1.
Mittels Media-Creation-Tool von https://www.microsoft.com/de-de/software-download/windows10 eine ISO der aktuellen Build erstellen, vorzugsweise 32Bit und 64Bit.

2.
Mit 7-Zip die ISO öffnen.
In der ISO (wenn 32Bit und 64Bit kombiniert) muss die Datei install.esd entpackt werden. Diese gibt es zweimal:
ISO-Datei\x64\sources\install.esd
ISO-Datei\x86\sources\install.esd

Pro install.esd folgende Schritte durchlaufen:

1.
Auflisten aller Indizes und Editionen in der Datei:
dism /Get-WimInfo /WimFile:<Pfad zur Datei>\install.esd
2.
Gewünschte Edition exportieren
dism /Export-Image /SourceImageFile:<Pfad zur Datei>\install.esd /SourceIndex:5 /DestinationImageFile:<Pfad zur Datei>\install.wim /Compress:Maximum
3.
Wim-Image mounten und customizen:

dism /Mount-wim /WimFile:<Pfad zur Datei>\install.wim /index:1 /MountDir:<mountdir>
3.1. OneDrive entfernen

3.1.1.
Verlinkung aus Startmenü löschen:
cd <mountdir>\Users\Default\appdata\Roaming\Microsoft\Windows\Start Menu\Programs
del .\OneDrive.lnk
3.1.2.
Löschen des OneDrive-Installers <mountdir>\Windows\SysWOW64\OneDriveSetup.exe
Über Powershell im Adminmode!
takeown /F <mountdir>\Windows\SysWOW64\OneDriveSetup.exe /A

#Powershell Vorbereitung
Install-Module NTFSSecurity (falls Add-NTFSAccess nicht verfügbar ist | nur einmal am Computer erforderlich)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Import-Module NTFSSecurity
Zugriff auf onedrivesetup.exe herstellen und die Datei löschen
bei deutschem 64Bit-Windows:
Add-NTFSAccess -Path "<mountdir>\Windows\SysWOW64\onedrivesetup.exe" -Account "Administratoren" -AccessRights FullControl
bei englischem 64Bit-Windows:
Add-NTFSAccess -Path "<mountdir>\Windows\SysWOW64\onedrivesetup.exe" -Account "BUILTIN\Administrators" -AccessRights FullControl
Löschen der Datei bei 64Bit-Edition
Remove-Item <mountdir>\Windows\SysWOW64\onedrivesetup.exe
Löschen der Datei bei 32Bit-Edition
Remove-Item <mountdir>\Windows\System32\onedrivesetup.exe
3.1.3.
Löschen der Registrierungseinträge
reg load HKEY_LOCAL_MACHINE\WIM <mountdir>\Users\Default\ntuser.dat
reg query "HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
reg delete "HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v OneDriveSetup /f
reg unload HKEY_LOCAL_MACHINE\WIM
Das kann natürlich auch im Registrierungseditor direkt gemacht werden.


3.1.4.
Suchbox in der Taskleiste abschalten, wenn Cortana blockiert werden soll
reg load HKEY_LOCAL_MACHINE\WIM <mountdir>\Users\Default\ntuser.dat
reg add HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Microsoft\Windows\CurrentVersion\Search /v SearchboxTaskbarMode /t REG_DWORD /d 0 /f
reg unload HKEY_LOCAL_MACHINE\WIM
Das kann natürlich auch im Registrierungseditor direkt gemacht werden.

3.2.
APPX-Pakete entfernen (Anzeigen und zum Löschen Selektieren)
Get-AppxProvisionedPackage -Path C:\mount | Out-GridView -PassThru | Remove-AppxProvisionedPackage
Es gibt keine Probleme, wenn man den Windows-Store ebenfalls löscht, aber eins muss klar sein: Er lässt sich nicht mehr installieren!

3.3.
Kacheln aus dem Startmenü entfernen für alle
Zur vorhandenen Datei <mountdir>\Users\Default\appdata\Local\Microsoft\Windows\Shell\DefaultLayouts.xml kommt eine namens LayoutModification.xml.
<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
  <LayoutOptions StartTileGroupCellWidth="6" />
  <DefaultLayoutOverride>
    <StartLayoutCollection>
      <defaultlayout:StartLayout GroupCellWidth="6" />
    </StartLayoutCollection>
  </DefaultLayoutOverride>
</LayoutModificationTemplate>

3.4.
Features aktivieren oder deaktivieren
Auflisten:
dism /Image:<mountdir> /Get-Features
Aktivieren: (wenn externe Quellen notwendig):
dism /Image:<mountdir> /Enable-Feature /FeatureName:NetFx3 /Source:<sourcepath>\sxs /LimitAccess
Deaktivieren:
dism /Image:<mountdir> /Disable-Feature /FeatureName:NetFx3
dism /Image:c:\m /Disable-Feature /FeatureName:
3.5.
Windows-Updates integrieren

3.5.1.
Geeignete kumulative Updates von Microsoft als MSU-Datei herunterladen (nach Datum sortieren)
https://www.catalog.update.microsoft.com/Search.aspx?q=cumulative+1903 (1903 durch aktuelle Build-Nr ersetzen)

3.5.2.
Update(s) anwenden auf Image

Einzel-Befehl, der alle Updates aus einem Verzeichnis anwendet:
dism /image:<mountdir> /add-package /Packagepath:<updatedir>
3.6.
Unliebsame SystemApps deaktivieren

Dazu kann man unter <mountdir>\windows\SystemApps die gewünschten App-Ordner suchen und einfach umbenennen.
Ich empfehle zur Nachvollziehbarkeit einfach mit einem "_BLOCKIERT" den Verzeichnisnamen zu suffixen.
Achtung: Es gibt Apps, die man so nicht sperren sollte, da sich das System sonst nicht installieren oder hochfahren lässt, aber Edge und Cortana wird man so los.

4.
Änderungen am Image bestätigen und Image schließen (zurück in geladene WIM-Datei schreiben)
Änderungen in WIM-File zurückschreiben.
Dism /Commit-Image /MountDir:<mountdir>
Abbildbereitstellung aufheben ohne Änderungen (erneut) zurückzuschreiben. Der Vorgang ist zweigeteilt, damit man sehen kann, dass Commit und Aufheben getrennt funktionieren.
Eine mögliche Fehlermeldung weißt bei einem kombinierten Vorgang nicht die Ursache aus und "hält" einen Commit für wahrscheinlich erfolgreich.
Dism /UnMount-wim /MountDir:<mountdir> /discard
Aufräumen
Dism /Cleanup-Wim
5.
WIM-Datei zurück in ESD-Datei konvertieren (dauert länger!)
Das ist eigentlich nicht erforderlich. Das Bootmedium akzeptiert install.esd oder install.wim. Eine von den beiden muss im richtigen Ordner liegen.
dism /export-image /SourceImageFile:"<Pfad zur Datei>\install.wim" /SourceIndex:1 /DestinationImageFile:"<Pfad zur Datei>\install.esd" /Compress:recovery /CheckIntegrity

FAZIT: Dieser Weg ist von mir mit der Build 1903 getestet und kompatibel mit Windows-Updates. Der Components- und Feature-Speicher bleibt intakt. Kumulative Updates zerschießen das .NET Framework nicht mehr.








2. Weg - Inkompatibel mit Windows-Updates

Ein Wort der Warnung voraus!
Dieser Weg erlaubt ein massives Unbloating von Windows 10. Es gibt Kollegen, die treiben es soweit, dass Windows auf unter 2GB schrumpft und dabei noch updatefähig ist. Auch bei diesem Weg ist es möglich, sehr viel "Ballast" aus dem Installationsmaterial zu entfernen und dennoch ein installier- und betriebsfähiges Windows zu erhalten, aber was ich derzeit nicht lösen konnte, ist das Problem, dass kumulative Updates die Instanz regelrecht zerschießen.

Es kann also im einfachen Fall dazu kommen, dass .NET-Framework nicht mehr anwendbar und auch nicht mehr reparierbar ist, es kann aber auch sein, dass nach einem kumulativen Update, das Windows überhaupt nicht mehr startet.

Ich kann also nur dazu raten, nach einer erfolgreichen Installation einen Updateblocker einzurichten. Ich erwähne das nur der Vollständigkeit halber.

1.
Mittels Media-Creation-Tool von https://www.microsoft.com/de-de/software-download/windows10 eine ISO der aktuellen Build erstellen, vorzugsweise 32Bit und 64Bit.

2.
Mit 7-Zip die ISO öffnen.
In der ISO (wenn 32Bit und 64Bit kombiniert) muss die Datei install.esd entpackt werden. Diese gibt es zweimal:
ISO-Datei\x64\sources\install.esd
ISO-Datei\x86\sources\install.esd

Pro install.esd folgende Schritte durchlaufen:

1.
Auflisten aller Indizes und Editionen in der Datei:
dism /Get-WimInfo /WimFile:<Pfad zur Datei>\install.esd
2.
Gewünschte Edition exportieren
dism /Export-Image /SourceImageFile:<Pfad zur Datei>\install.esd /SourceIndex:5 /DestinationImageFile:<Pfad zur Datei>\install.wim /Compress:Maximum
3.
Wim-Image mounten und customizen:

dism /Mount-wim /WimFile:<Pfad zur Datei>\install.wim /index:1 /MountDir:<mountdir>
3.1.
APPX-Pakete entfernen (Anzeigen und zum Löschen Selektieren)
Get-AppxProvisionedPackage -Path C:\mount | Out-GridView -PassThru | Remove-AppxProvisionedPackage
3.2.
Kacheln aus dem Startmenü entfernen für alle
Zur vorhandenen Datei <mountdir>\Users\Default\appdata\Local\Microsoft\Windows\Shell\DefaultLayouts.xml kommt eine namens LayoutModification.xml.
<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
  <LayoutOptions StartTileGroupCellWidth="6" />
  <DefaultLayoutOverride>
    <StartLayoutCollection>
      <defaultlayout:StartLayout GroupCellWidth="6" />
    </StartLayoutCollection>
  </DefaultLayoutOverride>
</LayoutModificationTemplate>
3.3.
Features aktivieren oder deaktivieren
Auflisten:
dism /Image:<mountdir> /Get-Features
Aktivieren: (wenn externe Quellen notwendig):
dism /Image:<mountdir> /Enable-Feature /FeatureName:NetFx3 /Source:<sourcepath>\sxs /LimitAccess
Deaktivieren:
dism /Image:<mountdir> /Disable-Feature /FeatureName:NetFx3
dism /Image:c:\m /Disable-Feature /FeatureName:
x64-Liste:
Printing-XPSServices-Features
SearchEngine-Client-Package
WorkFolders-Client
MediaPlayback
WindowsMediaPlayer
Internet-Explorer-Optional-amd64
Printing-Foundation-Features
FaxServicesClientPackage
Printing-Foundation-InternetPrinting-Client
Printing-PrintToPDFServices-Features
Windows-Defender-Default-Definitions
MSRDC-Infrastructure
NetFx4-AdvSrvs
WCF-Services45
WCF-TCP-PortSharing45
SmbDirect
MicrosoftWindowsPowerShellV2Root
MicrosoftWindowsPowerShellV2
Microsoft-Windows-NetFx3-OC-Package
Microsoft-Windows-NetFx4-US-OC-Package
Microsoft-Windows-Client-EmbeddedExp-Package
Microsoft-Windows-NetFx3-WCF-OC-Package
Microsoft-Windows-NetFx4-WCF-US-OC-Package

x86-Liste:
Printing-PrintToPDFServices-Features
Windows-Defender-Default-Definitions
Printing-XPSServices-Features
SearchEngine-Client-Package
MSRDC-Infrastructure
WorkFolders-Client
NetFx4-AdvSrvs
WCF-Services45
WCF-TCP-PortSharing45
Internet-Explorer-Optional-x86
Printing-Foundation-Features
FaxServicesClientPackage
Printing-Foundation-InternetPrinting-Client
MicrosoftWindowsPowerShellV2Root
MicrosoftWindowsPowerShellV2
Microsoft-Windows-NetFx3-OC-Package
Microsoft-Windows-NetFx4-US-OC-Package
Microsoft-Windows-Client-EmbeddedExp-Package
Microsoft-Windows-NetFx3-WCF-OC-Package
Microsoft-Windows-NetFx4-WCF-US-OC-Package

3.4.
Windows-Updates integrieren

Einzel-Befehl, der alle Updates aus einem Verzeichnis anwendet:
dism /image:<mountdir> /add-package /Packagepath:<updatedir>
3.5.
Windows Feature- und Components-Speicher umschreiben, damit alle Einträge sichtbar werden und zwar wirklich alle.

Dazu kann ein Tool namens install_Wim_tweak.exe verwendet werden, oder untenstehendes Script.

Mit dem Befehl:
install_wim_tweak /p <mountpath> 
Dies ist das Script eines Kollegen. Wichtig ist, dass die Registry des Wim-Image eingehängt ist und im Script der Pfad angepasst ist. Der Grundgedanke ist, dass install_wim_tweak alle Packages sichtbar macht. Dies geschieht so:

Das Programm hängt nach Übergeben des Mount-Pfades die Registry des Images ein und greift auf den Schlüssel HKEY_LOCAL_MACHINE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\ zu. In jedem Unterschlüssel dazu befindet sich ein DWORD_Wert mit Namen Visibility. Steht dieser auf 1, ist das Paket sichtbar, steht er auf 2, taucht es nicht auf. Die Software ändert bei allen Paketen diesen Wert auf 1 und erstellt eine zusätzliche Variable DefVis, die den originalen Wert nochmals enthält.

Das Script hier tut in etwa das gleiche, nur dass hier die Möglichkeit gegeben ist, nach gewissen Schlüsselwörtern zu filtern, so dass nicht der komplette Paketbaum umgedreht wird. Ich kann derzeit nicht ausschließen, dass die Visibility noch eine andere Bedeutung haben kann, als nur das "Verstecken", deswegen werde ich händisch die Schlüssel ändern, die OneDrive enthalten. Das Script ist derzeit für eine Online-Instanz ausgelegt, nicht für die Bearbeitung eines WIM-Images. Ich hab es mal für die Spezialisten reingesetzt.


#   Description:
# This script remove strang looking stuff which will probably result in a break
# of your system.  It should not be used unless you want to test out a few
# things. It is named `experimental_unfuckery.ps1` for a reason.

Import-Module -DisableNameChecking $PSScriptRoot\..\lib\take-own.psm1

Write-Output "Elevating priviledges for this process"
do {} until (Elevate-Privileges SeTakeOwnershipPrivilege)

Write-Output "Force removing system apps"
$needles = @(
    #"Anytime"
    "BioEnrollment"
    #"Browser"
    "ContactSupport"
    #"Cortana"       # This will disable startmenu search.
    #"Defender"
    "Feedback"
    "Flash"
    "Gaming"
    #"Holo"
    #"InternetExplorer"
    #"Maps"
    #"MiracastView"
    "OneDrive"
    #"SecHealthUI"
    #"Wallet"
    #"Xbox"          # This will result in a bootloop since upgrade 1511
)

foreach ($needle in $needles) {
    Write-Output "Trying to remove all packages containing $needle"

    $pkgs = (Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages" |
        Where-Object Name -Like "*$needle*")

    foreach ($pkg in $pkgs) {
        $pkgname = $pkg.Name.split('\')[-1]

        Takeown-Registry($pkg.Name)
        Takeown-Registry($pkg.Name + "\Owners")

        Set-ItemProperty -Path ("HKLM:" + $pkg.Name.Substring(18)) -Name Visibility -Value 1
        New-ItemProperty -Path ("HKLM:" + $pkg.Name.Substring(18)) -Name DefVis -PropertyType DWord -Value 2
        Remove-Item      -Path ("HKLM:" + $pkg.Name.Substring(18) + "\Owners")

        dism.exe /Online /Remove-Package /PackageName:$pkgname /NoRestart
    }
}
Mit folgendem Befehl kann man dann alle sichtbar gemachten Windows-Packages, die bereits "installed" sind, entfernen (z.B. OneDrive, denn das ist versteckt!).
Get-WindowsPackage -Path C:\mount |where Packagestate -Eq Installed | Out-GridView -PassThru | Remove-WindowsPackage
Vorsicht! Das geschieht ohne Rücksicht auf Verluste! Es folgen keine Sicherheitsabfragen und entfernte Pakete lassen sich ggf. nicht mehr installieren.


3.6.
Abschalten bestimmter Dienste (es handelt sich um versteckte Dienste, die pro Benutzer anscheinend einen Unterprozess als Dienst registrieren und starten)
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\BluetoothUserService /v Start /t REG_DWORD /d 4 /f
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\CaptureService /v Start /t REG_DWORD /d 4 /f
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\DevicePickerUserSvc /v Start /t REG_DWORD /d 4 /f
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\DevicesFlowUserSvc /v Start /t REG_DWORD /d 4 /f
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\PimIndexMaintenanceSvc /v Start /t REG_DWORD /d 4 /f
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\MessagingService /v Start /t REG_DWORD /d 4 /f
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\PrintWorkflowUserSvc /v Start /t REG_DWORD /d 4 /f
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\OneSyncSvc /v Start /t REG_DWORD /d 4 /f
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\WpnUserService /v Start /t REG_DWORD /d 4 /f
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\BcastDVRUserService /v Start /t REG_DWORD /d 4 /f
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\CDPUserSvc /v Start /t REG_DWORD /d 4 /f
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\UnistoreSvc /v Start /t REG_DWORD /d 4 /f
reg add HKEY_LOCAL_MACHINE\WIM\ControlSet001\Services\UserDataSvc /v Start /t REG_DWORD /d 4 /f
Warnung: Durch das Ausschalten mindestens einer dieser Dienste legt man das primäre Startmenü (Linksklick) lahm. Es öffnet sich nicht mehr. Rechtsklick funktioniert weiterhin.
Eine Ersetzung durch ClassicShell oder OpenShell oder einen anderen Startmenüersatz schafft Abhilfe.


3.7.
Unliebsame SystemApps deaktivieren

Dazu kann man unter <mountdir>\windows\SystemApps die gewünschten App-Ordner suchen und einfach umbenennen.
Ich empfehle zur Nachvollziehbarkeit einfach mit einem "_BLOCKIERT" den Verzeichnisnamen zu suffixen.
Achtung: Es gibt Apps, die man so nicht sperren sollte, da sich das System sonst nicht installieren oder hochfahren lässt, aber Edge und Cortana wird man so los.

4.
Änderungen am Image bestätigen und Image schließen (zurück in geladene WIM-Datei schreiben)
Änderungen in WIM-File zurückschreiben.
Dism /Commit-Image /MountDir:<mountdir>
Abbildbereitstellung aufheben ohne Änderungen (erneut) zurückzuschreiben. Der Vorgang ist zweigeteilt, damit man sehen kann, dass Commit und Aufheben getrennt funktionieren.
Eine mögliche Fehlermeldung weißt bei einem kombinierten Vorgang nicht die Ursache aus und "hält" einen Commit für wahrscheinlich erfolgreich.
Dism /UnMount-wim /MountDir:<mountdir> /discard
Aufräumen
Dism /Cleanup-Wim
5.
WIM-Datei zurück in ESD-Datei konvertieren (dauert länger!)
Das ist eigentlich nicht erforderlich. Das Bootmedium akzeptiert install.esd oder install.wim. Eine von den beiden muss im richtigen Ordner liegen.
dism /export-image /SourceImageFile:"<Pfad zur Datei>\install.wim" /SourceIndex:1 /DestinationImageFile:"<Pfad zur Datei>\install.esd" /Compress:recovery /CheckIntegrity

FAZIT: Dieser Weg ist von mir mit der Build 1903 getestet und nicht kompatibel mit Windows-Updates. Der Components- und Feature-Speicher wird durch kumulative Updates zerschossen. Bei mir funktionierte danach das .NET Framework nicht mehr.






Ergänzung zu beiden Wegen

Dies sei erwähnt, weil ich selbst drüber stolpere. Wer die Build 1903 nutzt, wird feststellen, dass z.B. das Snipping-Tool durch eine bereits provisionierte APPX namens
"Ausschneiden und Skizzieren" wohl in naher Zukunft ersetzt werden soll.

Ich habe den Eindruck, dass Microsoft auf ähnlichem Wege auch mit anderen systeminternen Tools verfahren will. Hier nenne ich mal den Remotedesktopclient.
In der Build 1903 liegt er in Version 10.0 vor. Als APPX für Windows hat er bereits Version 10.1 und damit eine für mich interessante Fehlerbereinigung.

Nur wie verteilt man solch eine APPX, wenn man die Images so baut, dass der Microsoft-Store nicht mehr enthalten ist?
"Offline" ist die Antwort. Also braucht es einen Weg, wie man an ein offline verfügbares APPXBundle von MSTSC herankommt und dieses auch ausrollen kann.

Das Herankommen geht aus meiner Sicht nur so:
Man braucht einen Login zum Microsoft Store for Business: https://businessstore.microsoft.com/

Unter "Verwalten" gibt es "Einstellungen" und dort die Möglichkeit unter "Einkaufserfahrung" die Offline-Lizenzen einzuschalten.

Wenn man dann nach Remotedesktop sucht, kann man die APPX als APPXBundle herunterladen.

Die APPXBundle sollte sich mittels

DISM.exe /Add-ProvisionedAppxPackage 
oder

Get-AppxProvisionedPackage -Path <mountpath>
ins Image integrieren lassen, wenn sie nicht bereits provisioniert ist.

Hinweis: Die obigen Befehle sind derzeit noch unvollständig. Ich ergänze die Parameter, sobald ich testen konnte.





Notizblock
1.
Mittels Media-Creation-Tool von https://www.microsoft.com/de-de/software-download/windows10 eine ISO der aktuellen Build erstellen, vorzugsweise 32Bit und 64Bit.

2.
Mit 7-Zip die ISO öffnen.
In der ISO (wenn 32Bit und 64Bit kombiniert) muss die Datei install.esd entpackt werden. Diese gibt es zweimal:
ISO-Datei\x64\sources\install.esd
ISO-Datei\x86\sources\install.esd

Pro install.esd folgende Schritte durchlaufen:

1.
Auflisten aller Indizes und Editionen in der Datei:
dism /Get-WimInfo /WimFile:<Pfad zur Datei>\install.esd
2.
Gewünschte Edition exportieren
dism /Export-Image /SourceImageFile:<Pfad zur Datei>\install.esd /SourceIndex:5 /DestinationImageFile:<Pfad zur Datei>\install.wim /Compress:Maximum












4.
Änderungen am Image bestätigen und Image schließen (zurück in geladene WIM-Datei schreiben)
Änderungen in WIM-File zurückschreiben.
Dism /Commit-Image /MountDir:C:\test\offline
Abbildbereitstellung aufheben ohne Änderungen (erneut) zurückzuschreiben. Der Vorgang ist zweigeteilt, damit man sehen kann, dass Commit und Aufheben getrennt funktionieren.
Eine mögliche Fehlermeldung weißt bei einem kombinierten Vorgang nicht die Ursache aus und "hält" einen Commit für wahrscheinlich erfolgreich.
Dism /UnMount-wim /MountDir:<mountdir> /discard
Aufräumen
Dism /Cleanup-Wim
5. WIM-Datei zurück in ESD-Datei konvertieren (dauert länger!)
dism /export-image /SourceImageFile:"<Pfad zur Datei>\install.wim" /SourceIndex:1 /DestinationImageFile:"<Pfad zur Datei>\install.esd" /Compress:recovery /CheckIntegrity
6. ESD-Datei in ISO integrieren.
Das geht mit einem von zwei mir bekannten Tools: PowerISO und UltraISO. Beide Tools kosten etwas Geld, sind es aber wert.





KORREKTUREN UND VERBESSERUNGEN zu obigen Punkten (Stand 06.08.2019)

3.1. und 3.2.

Die Entfernung unliebsamer Dinge wie OneDrive lässt sich komfortabler umsetzen. Allerdings wird dazu derzeit eine Software namens install_wim_tweak benötigt.
Diese dient nur einem Zweck: Die Sichtbarmachung von Packages, die im Registry-Key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\ des gemounteten WIM-Images gespeichert sind.
Ich konnte noch nicht analysieren, welche Attribute ausschlaggebend sind, dass Pakete (wie z.B. OneDrive) versteckt (Hidden) sind und andere nicht.
Mit dem Befehl:
install_wim_tweak /p c:\mountpath 
werden aber die Packages sichtbar gemacht, so dass mittels
Get-AppxProvisionedPackage -Path C:\mount | Out-GridView -PassThru | Remove-AppxProvisionedPackage
alle gewünschten provisionierten APPX-Packages, die man loswerden will, komfortabel ausgewählt und entfernt werden können und mittels
Get-WindowsPackage -Path C:\mount |where Packagestate -Eq Installed | Out-GridView -PassThru | Remove-WindowsPackage
selbiges mit Windows-Packages (so unter anderem auch OneDrive) geschehen kann.

Der untere Befehl listet nur die Pakete auf, die im Status bereits "installed" haben.

Ein Wort der Warnung!
install_wim_Tweak in obiger Anwendung macht weitgehend alle Pakete sicht- und entfernbar. Das kann übel ins Auge gehen, wenn man das falsche Paket rauswirft.
Es sollte in einer Laborumgebung getestet werden, bevor man ein Produktivimage baut.

Ich möchte install_wim_tweak auch durch ein Script ersetzen, bei dem man besser erkennt, was es tut.

3.3.
Der im obigen Abschnitt 3.3. beschriebene Vorgang ist nicht korrekt. Die vorhandene Datei DefaultLayouts.xml verändert man nicht.
Der beschriebene Dateiinhalt muss in einer Datei namens LayoutModification.xml im gleichen Verzeichnis gespeichert werden.
Ergänzung: Interessanterweise funktioniert das Startmenü immernoch nicht. Derzeit nehme ich an, dass es etwas mit den deaktivierten Diensten unter 3.6. zu tun haben könnte.
Genauso funktioniert die rechte Maustaste nicht korrekt beim Klick auf eine Datei.

KORREKTUREN UND VERBESSERUNGEN zu obigen Punkten (Stand 09.08.2019)

Neuer Punkt
3.7. Entfernung von Cortana und anderem unliebsamen Dreck

Das gemountete Image kann mittels Windowsexplorer durchgegangen werden:

Im Verzeichnis c:\<mountpfad>\windows\systemapps und im Verzeichnis C:\<mountpfad>\Prgram Files\WindowsApps (und zästzlich eventuell unter C:\Users\username\AppData\Local\Packages) befindet sich so mancher Kram, der einfach gelöscht werden kann, wenn
  • man den Besitz des jeweiligen Unterordners übernommen hat,
  • den Besitz auf die darunterliegenden Einheiten vererbt hat
  • die Vererbung wieder einschaltet
  • sich selbst die notwendigen Rechte einräumt.

Ich habe mir so Edge und Cortana noch vor Installation vom Hals geschafft. Allerdings sei folgendes erwähnt:
Speziell im Ordner SystemApps ist Vorsicht geboten. Es gibt Ordner, die man nicht umbennen oder löschen sollte, weil Windows danach nicht funktioniert.
Bei Cortana und Edge kann ich in der 1903er Build aber sagen, dass keine Probleme auftreten, außer dass das "Suchen"-Feld in der Taskleiste und Suchen im Startmenü nicht funktionieren wird.

Eine hilfreiche Seite: https://www.askvg.com/windows-10-tip-remove-cortana-microsoft-edge-conta ...

KORREKTUREN UND VERBESSERUNGEN zu obigen Punkten (Stand 13.08.2019)

Neuer Punkt 3.7 - Ergänzung:
Nach der Entfernung von Cortana funktioniert die Suche nicht mehr. Weder die Suche nach Startmenü-Inhalten noch die Suche in der Taskleisten-Suchbox können genutzt werden.
Da die Taskleisten-Suchbox überflüssig wird, kann man sie auch von vorne herein entfernen. Das sollte wie folgt für alle Nutzer möglich sein.

reg load HKEY_LOCAL_MACHINE\WIM $mountdir\Users\Default\ntuser.dat
reg query "HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Microsoft\Windows\CurrentVersion\Search"
reg add "HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Microsoft\Windows\CurrentVersion\Search /v SearchboxTaskbarMode /t REG_DWORD /d 0 /f
reg unload HKEY_LOCAL_MACHINE\WIM
Punkt 3.6.
Das Abschalten der oben erwähnten Dienste sorgt dafür, dass das Startmenü (Linke Maustaste!) nicht mehr funktioniert. Das mit rechter Maustaste zu öffnende Menü funktioniert noch.
Welcher Dienst daran beteiligt ist, vermag ich nicht zu sagen derzeit. Ich lasse also alle aktiv.


KORREKTUREN UND VERBESSERUNGEN zu obigen Punkten (Stand 20.08.2019)

Mir ist bei Tests folgendes aufgefallen: Ein kumulatives Update (hier August 2019) zerschießt das vorinstallierte .NET-Framework.
Ich habe es mehrfach wiederholt unter folgenden Bedingungen:
- OneDrive entfernt
- Appx alle bis auf Paint entfernt
- Startlayout angepasst
- Cortana und Edge entfernt

Das Ergebnis ist immer gleich: Die Installation klappt reibungslos und das .NET Framework ist intakt danach (Getestet über Powershell; Ordner C:\Windows\Microsoft.Net untersucht - >600MB).
Nachdem das kumulative Update installiert hat, öffnet sich die Powershell nicht mehr und der untersuchte .NET-Ordner ist nur noch ca. 40MB groß.

FAZIT: Ein customized Image scheint von kumulativen Updates nicht erwartet zu werden. Also muss eine Windows-Update-Blockierung her.

Schade eigentlich.

KORREKTUREN UND VERBESSERUNGEN zu obigen Punkten (Stand 22.08.2019)


Dies ist das Script eines Kollegen, welches install_wim_tweak ablösen könnte. Wichtig ist, dass die Registry des Wim-Image eingehängt ist und im Script der Pfad angepasst ist.
Der Grundgedanke ist, dass install_wim_tweak alle Packages sichtbar macht. Dies geschieht so:

Das Programm hängt nach Übergeben des Mount-Pfades die Registry des Images ein und greift auf den Schlüssel
HKEY_LOCAL_MACHINE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\
zu.
In jedem Unterschlüssel dazu befindet sich ein DWORD_Wert mit Namen Visibility. Steht dieser auf 1, ist das Paket sichtbar, steht er auf 2, taucht es nicht auf.
Die Software ändert bei allen Paketen diesen Wert auf 1 und erstellt eine zusätzliche Variable DefVis, die den originalen Wert nochmals enthält.

Das Script hier tut in etwa das gleiche, nur dass hier die Möglichkeit gegeben ist, nach gewissen Schlüsselwörtern zu filtern, so dass nicht der komplette Paketbaum
umgedreht wird. Ich kann derzeit nicht ausschließen, dass die Visibility noch eine andere Bedeutung haben kann, als nur das "Verstecken", deswegen werde ich händisch
die Schlüssel ändern, die OneDrive enthalten.


#   Description:
# This script remove strang looking stuff which will probably result in a break
# of your system.  It should not be used unless you want to test out a few
# things. It is named `experimental_unfuckery.ps1` for a reason.

Import-Module -DisableNameChecking $PSScriptRoot\..\lib\take-own.psm1

Write-Output "Elevating priviledges for this process"
do {} until (Elevate-Privileges SeTakeOwnershipPrivilege)

Write-Output "Force removing system apps"
$needles = @(
    #"Anytime"
    "BioEnrollment"
    #"Browser"
    "ContactSupport"
    #"Cortana"       # This will disable startmenu search.
    #"Defender"
    "Feedback"
    "Flash"
    "Gaming"
    #"Holo"
    #"InternetExplorer"
    #"Maps"
    #"MiracastView"
    "OneDrive"
    #"SecHealthUI"
    #"Wallet"
    #"Xbox"          # This will result in a bootloop since upgrade 1511
)

foreach ($needle in $needles) {
    Write-Output "Trying to remove all packages containing $needle"

    $pkgs = (Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages" |
        Where-Object Name -Like "*$needle*")

    foreach ($pkg in $pkgs) {
        $pkgname = $pkg.Name.split('\')[-1]

        Takeown-Registry($pkg.Name)
        Takeown-Registry($pkg.Name + "\Owners")

        Set-ItemProperty -Path ("HKLM:" + $pkg.Name.Substring(18)) -Name Visibility -Value 1
        New-ItemProperty -Path ("HKLM:" + $pkg.Name.Substring(18)) -Name DefVis -PropertyType DWord -Value 2
        Remove-Item      -Path ("HKLM:" + $pkg.Name.Substring(18) + "\Owners")

        dism.exe /Online /Remove-Package /PackageName:$pkgname /NoRestart
    }
}
Weitere interessante Scripts des Kollegen: https://github.com/W4RH4WK/Debloat-Windows-10
26 Kommentare
Mitglied: beidermachtvongreyscull
24.07.2019 um 13:38 Uhr
Einen Schönheitsfehler habe ich nach Tests gefunden:

Das Startmenü (Linke Maustaste) öffnet sich nicht mehr. Rechtsklick auf Startmenü funktioniert.
Ich nehme an, dass ich den Vorgang unter 3.3 nochmal ändern muss.

Und noch etwas:
Ich mag beide Tools unter Punkt 6 und habe damit gute Ergebnisse. Allerdings würde ein Freewaretool, dass die Bearbeitung von ISOs zulässt das Bild abrunden, denn ich versuche solche Lösungen so Level-0 und kostenneutral wie möglich zu gestalten.

Falls jemand also eine Idee oder Anregung hat, bin ich sehr dankbar.

Viele Grüße
bdmvg
Bitte warten ..
Mitglied: Globetrotter
25.07.2019 um 01:55 Uhr
Hi..
Ist ja ne feine Arbeit.. was machste aber bei einem "Feature"-Update von Win-garniX ?
Dann sind die ganzen Apps wieder da und Du darfst wieder aufräumen...
Einzige Lösung bisher in meinen Augen ist LTSB buw. LTSC.... leider..

Trotzdem.. sehr schöne Sache von Dir!

Gruss Globe!
Bitte warten ..
Mitglied: 7Gizmo7
25.07.2019 um 08:37 Uhr
Zitat von Globetrotter:

Hi..
Ist ja ne feine Arbeit.. was machste aber bei einem "Feature"-Update von Win-garniX ?
Dann sind die ganzen Apps wieder da und Du darfst wieder aufräumen...
Einzige Lösung bisher in meinen Augen ist LTSB buw. LTSC.... leider..

Trotzdem.. sehr schöne Sache von Dir!

Gruss Globe!


https://docs.microsoft.com/en-us/windows/application-management/remove-p ...

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: holli.zimmi
25.07.2019 um 08:42 Uhr
Hi,

das Tool nennt sich "ESD Decrypter", siehe URL:
ESD Decrypter

Gruß

Holli
Bitte warten ..
Mitglied: beidermachtvongreyscull
25.07.2019 um 08:48 Uhr
Guten Morgen Globe!

schau mal hier nach:
https://docs.microsoft.com/en-us/windows/application-management/remove-p ...

MS selbst sagt, dass wenn man die APPX auf diesem Weg in einer WIM oder in einem Offline-Image abmeldet, dann würde ein Registry-key erstellt, der dafür sorgt, dass die deprovisioned packages nicht wieder installiert werden.

Die Sache mit dem Reg-Key prüfe ich nochmal. Ich muss das Image wegen den Änderungen in 3.3. sowieso nochmals ändern.

Was ich oben unter Punkt 3.2 nicht erwähnt habe ist, dass ich wirklich alle AppX, also auch den AppX-Installer als auch Windows-Store rausschmeiße.
Ich schaue noch, wie ich Cortana loswerde, denn die habe ich nicht gesehen in der Auflistung, oder übersehen. MS hat Cortana vom Suchdienst gelöst. So sollte man den Sprachassi zum Teufel schicken können und dennoch die Suchfunktion erhalten können.

Ich danke Dir auf jeden Fall für Deinen Beitrag.

Gruß,
bdmvg
Bitte warten ..
Mitglied: monstermania
25.07.2019 um 08:51 Uhr
Zitat von Globetrotter:

Hi..
Ist ja ne feine Arbeit.. was machste aber bei einem "Feature"-Update von Win-garniX ?
Dann sind die ganzen Apps wieder da und Du darfst wieder aufräumen...
Einzige Lösung bisher in meinen Augen ist LTSB buw. LTSC.... leider..

Na ja mal davon abgesehen davon, dass LTSB/LTSC von MS ausdrücklich nicht für Büro-PC empfohlen wird.
Wir machen das hier ganz ähnlich mit dem angepassten wim-Image (allerdings nicht gaanz so weit angepasst). Feature-Updates gehen dann auch per angepassten Image.
Da wir ohnehin nur noch die Herbstversionen von Windows 10 Supporten hält sich auch der Anpassungsaufwand in Grenzen. Und bei 2000 Rechnern kann man dann auch mal 1-2 Tage für das Customizing des Images investieren.
Bitte warten ..
Mitglied: beidermachtvongreyscull
25.07.2019 um 08:53 Uhr
Danke für den Hinweis Holli.

Ich werde das Tool mal ausprobieren, bin aber nicht sicher, ob es die Lösung ist, denn:

Mit dem Media-Creation-Tool erstelle ich ja bereits eine ISO und die enthält neben den install.esd-Dateien auch die Bootimages als boot.wim-Dateien.
Ich muss gestehen, ich weiß nicht, ob eine install.esd nach ISO konvertiert ein startfähiges Image ergibt, ich hätte dann nur das Problem, dass ich diesen Dual-boot zwischen 32bit- und 64bit-Edition nicht mehr hätte.

Gruß,
bdmvg
Bitte warten ..
Mitglied: monstermania
25.07.2019 um 08:56 Uhr
Moin,
tollte Arbeit.
Wir customizen unserer ISO bzw. WIM-Datei nicht ganz so intensiv, da viele Anpassungen bei uns per GPO erledigt werden.

Mit DISM++ (Freeware) lässt sich das Image ebenfalls sehr komfortabel anpassen.

Gruß
Dirk
Bitte warten ..
Mitglied: beidermachtvongreyscull
25.07.2019 um 09:14 Uhr
Moin,

Vielen Dank für Deinen Hinweis auf DISM++.
Das Ding gefällt mir, obwohl ich eigentlich gerne mit Boardmitteln arbeite.
Bitte warten ..
Mitglied: dodo30
25.07.2019 um 12:06 Uhr
Hallo zusammen,

ich kann OSDBuilder sehr empfehlen.
Kann man dann Scripten und automatisch monatlich fully updated Builds in MDT laden
Des Weiteren lassen sich für verschiedene Builds verschieden Templates anlegen um zb APPX Pakete zu entfernen , netfx35 aktivieren ect.

.

Siehe:

https://citrixguyblog.com/2019/03/19/osdbuilder-reference-image-on-stero ...

https://www.osdeploy.com/osdbuilder
Bitte warten ..
Mitglied: Globetrotter
25.07.2019 um 23:21 Uhr
Hi @ll...
Ich finde das echt ne tolle Sache.. lässt sich dies wirklich auch bei Win10Pro realisieren oder nur bei der Enterprise??
Da mein Laden unter Fujitsu fungiert habe ich auch nicht das Problem mit den Keys, dachte aber, daß das mit den Apps & CoKG nur unter der Enterprise geht... wie vieles andere auch... leider...

Gruss Globe!
Bitte warten ..
Mitglied: beidermachtvongreyscull
26.07.2019 um 10:27 Uhr
Ich kann Dir aus Erfahrung sagen, dass es auch mit der Pro-Edition funktioniert.
Ich benutze nur die.

Du hast in den Originaldateien folgende Versionen drin:

Details für Abbild: "install.esd"

Index: "1"
Name: "Windows 10 Home"
Beschreibung: "Windows 10 Home"
Größe: 14.550.145.165 Bytes

Index: "2"
Name: "Windows 10 Home N"
Beschreibung: "Windows 10 Home N"
Größe: 13.736.568.185 Bytes

Index: "3"
Name: "Windows 10 Education"
Beschreibung: "Windows 10 Education"
Größe: 14.824.710.761 Bytes

Index: "4"
Name: "Windows 10 Education N"
Beschreibung: "Windows 10 Education N"
Größe: 14.014.532.475 Bytes

Index: "5"
Name: "Windows 10 Pro"
Beschreibung: "Windows 10 Pro"
Größe: 14.825.183.174 Bytes

Index: "6"
Name: "Windows 10 Pro N"
Beschreibung: "Windows 10 Pro N"
Größe: 14.014.988.175 Bytes

Du kannst Dir also mit dem Export-Kommando unter Punkt 2. die gewünschte Edition rausziehen und so bearbeiten.
Bitte warten ..
Mitglied: Schluckimpfung
24.09.2019 um 12:47 Uhr
Hallo,

gibt es eine Möglichkeit, die ganzen Schalter in den Datenschutz-Einstellungen per registry-Eintrag standardmäßig auf "AUS" zu stellen?

Momentan muss man das in jedem (neu angelegten) Nutzerkonto manuell machen, ich will aber nicht die Gruppenrichtlinien dafür nutzen, weil das dann alle Konten betrifft und nicht wieder zurückstellbar ist.

Ansonsten hat das de-bloating mit der 1. beschriebenen Methode schon ganz gut geklappt!
Bitte warten ..
Mitglied: beidermachtvongreyscull
26.09.2019, aktualisiert um 20:05 Uhr
Zitat von Schluckimpfung:

Hallo,
Hi,

gibt es eine Möglichkeit, die ganzen Schalter in den Datenschutz-Einstellungen per registry-Eintrag standardmäßig auf "AUS" zu stellen?

Durchaus.
Schau mal hier: https://www.itz.uni-halle.de/dienstleistungen/betriebssysteme/mswindows9 ...
Die pro Nutzereinstellungen kommen in den DEFAULT-User, der Rest standard.
Schau mal im Forum. Es gab auch einen Artikel, der sich mit den Datenschutzeinstellungen befasst hat.
https://administrator.de/wissen/windows-10-gpo-mundtot-machen-310350.htm ...

Ansonsten hat das de-bloating mit der 1. beschriebenen Methode schon ganz gut geklappt!

Freut mich, zu lesen.
Bitte warten ..
Mitglied: Schluckimpfung
27.09.2019 um 12:18 Uhr
Danke, leider bringt das nicht den erwünschten Erfolg. Fast alle Schalter (es sind unglaublich viele) sind danach noch "an", vermutlich ist das erzeugte registry-script für eine ältere Windows-Version, die die ganzen Schalter noch garnicht hatte.

Mit GPOs möchte ich möglichst nicht arbeiten. Die meisten Sperrmaßnahmen bedienen sich bei den GPO-Möglichkeiten, das betrifft dann aber gleich den ganzen Rechner.
Bitte warten ..
Mitglied: beidermachtvongreyscull
27.09.2019 um 15:36 Uhr
Es gibt eine Security Baseline für den Datenschutz.
Ich müsste aber die GPO selbst erstmal analysieren, um daraus die richtigen Registrywerte abzuleiten.

Du könntest ja folgendes versuchen:

Hol Dir ein Tool wie O&O Shutup10!
Dazu packst Du den Regmon von Sysinternals.

Jetzt veränderst Du die Einstellungen und solltest sehen, welche Registryschlüssel der O&O anfasst.

Ich werde das auch mal testen.
Bitte warten ..
Mitglied: beidermachtvongreyscull
30.09.2019 um 14:02 Uhr
Ich habe es gerade ausprobiert.

Folgender Aufbau:

Ich habe von O&O-Software mal Shutup10! heruntergeladen und von Microsoft Sysinternals Process Monitor.
Den Process Monitor habe ich konfiguriert auf folgenden Filter:
filter - Klicke auf das Bild, um es zu vergrößern

Und dann startest Du die O&O-Software und solltest mit jedem Klick auf eine der Schaltflächen sehen können, wo etwas in der Registry geändert wird.

Das ist der Ansatz. Du musst dann in der Registry schauen, wie die Änderung inhaltlich erfolgt und die gewünschten Einträge sammeln.

Die O&O-Software setzt derzeit laut Process Monitor 113 Änderungen um.

Diese musst Du zweierlei betrachten:
HKCU -> Der Current_USER_Registrybaum. Diese Änderungen willst Du später im Default User haben (s.o.)
HKLM -> Der Local_Machine-Baum. Diese Änderung gehören in die Systemregistrydateien.

Soweit klar?

Ich werde den Vorgang noch genau beschreiben und dann als Zusatz zu den beschriebenen Wegen einpflegen.

VG und Danke für die Anregung.

Eins muss aber klar sein:
Die Einstellungen sind dann per Standard erstmal aus. Nichts hindert daran, diese wieder anzustellen, wenn man nicht die Zugriffe auf die Werte blockiert.

Der Grund, warum ich das erwähne ist der: Ich habe beim kumulativen September-Update bemerkt, dass MS die Systemapps wieder zu aktivieren versucht. Cortana läuft nicht mit, aber der Edge ist wieder da, auch wenn er nicht korrekt eingerichtet ist. Eine Verlinkung im Startmenü ist aufgetaucht und er lässt sich sogar starten. Allerdings sind die Symbole nicht korrekt.
Bitte warten ..
Mitglied: Schluckimpfung
30.09.2019 um 16:36 Uhr
Hallo,

den ProcMon hatte ich letzte Woche ausprobiert, nachdem ich für Regmon nur uralte Links gefunden habe. Leider ist das extrem unübersichtlich, der Procmon zeigt selbst im Idle sekündlich Änderungen in der Registry an. Wie stellt man den aufs Wesentliche ein?

Statt eines der Hilfsprogramme habe ich die Schalter einfach manuell betätigt; was ich bislang rausfinden konnte: Ein ausgeschalteter Schalter erzeugt(!) einen neuen Eintrag mit einer scheinbar willkürlichen Zeichenkette im HKCU-Zweig.

Dass die Änderungen rückgängig zu machen sind, ist durchaus erwünscht. Viel wichtiger: Ein neu angelegtes Benutzerprofil ist nun standardmäßig ohne umfangreiche Datenerhebung ausgestattet.
Bitte warten ..
Mitglied: beidermachtvongreyscull
30.09.2019, aktualisiert um 20:43 Uhr
Ich bin derzeit dabei, zwei Reg-Dateien aus den protokollierten Änderungen zu bauen.

Diese werde ich dann auf ein offline Install-Image anwenden und ausprobieren.

Damit diese Änderungen kontinuierlich angewendet werden, lasse ich beide Dateien mittels Shutdownscript jedes Mal über die lokale Policy anwenden.

Wenn man Änderungen machen will, muss man nur eine geeignete Version der reg-Datei ins Image packen und das wars.

Ich muss nur noch das Problem lösen, dass eine Datei, die nutzerbezogene zweimal angewendet werden muss: Einmal auf den Default User, einmal auf den Current.
Bitte warten ..
Mitglied: beidermachtvongreyscull
16.10.2019 um 12:22 Uhr
So. Fertich!

Hive_Key_Current_User.reg
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\International\User Profile]
"HttpAcceptLanguageOptOut"=dword:00000001

[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\FlipAhead]
"FPEnabled"=dword:00000000

[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\Main]
"DoNotTrack"=dword:00000001
"ShowSearchSuggestionsGlobal"=dword:00000000
"Use FormSuggest"="no"
"OptimizeWindowsSearchResultsForScreenReaders"=dword:00000000

[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\PhishingFilter]
"EnabledV9"=dword:00000000

[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\Privacy]
"EnableEncryptedMediaExtensions"=dword:00000000

[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\ServiceUI\ShowSearchHistory]
@=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Input\TIPC]
"Enabled"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\InputPersonalization]
"RestrictImplicitInkCollection"=dword:00000001
"RestrictImplicitTextCollection"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\InputPersonalization\TrainedDataStore]
"HarvestContacts"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Personalization\Settings]
"AcceptedPrivacyPolicy"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Siuf\Rules]
"NumberOfSIUFInPeriod"=dword:00000000
"PeriodInNanoSeconds"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Sensor\Permissions\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}]
"SensorPermissionState"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo]
"Enabled"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\AppHost]
"EnableWebContentEvaluation"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications]
"GlobalUserDisabled"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager]
"FeatureManagementEnabled"=dword:00000000
"OemPreInstalledAppsEnabled"=dword:00000001
"PreInstalledAppsEnabled"=dword:00000001
"RotatingLockScreenEnabled"=dword:00000000
"RotatingLockScreenOverlayEnabled"=dword:00000000
"SilentInstalledAppsEnabled"=dword:00000000
"SoftLandingEnabled"=dword:00000000
"SystemPaneSuggestionsEnabled"=dword:00000000
"ContentDeliveryAllowed"=dword:00000001
"SubscribedContent-338389Enabled"=dword:00000001
"PreInstalledAppsEverEnabled"=dword:00000001
"SubscribedContent-338388Enabled"=dword:00000001
"RemediationRequired"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\DeliveryOptimization]
"SystemSettingsDownloadMode"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{2297E4E2-5DBE-466D-A12B-0F8286F0D9CA}]
"Value"="Deny"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{52079E78-A92B-413F-B213-E8FE35712E72}]
"Value"="Deny"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{A8804298-2D5F-42E3-9531-9C8C39EB29CE}]
"Value"="Deny"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}]
"Value"="Deny"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\LooselyCoupled]
"Value"="Deny"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Start_SearchFiles"=dword:00000002
"ServerAdminUI"=dword:00000000
"Hidden"=dword:00000001
"ShowCompColor"=dword:00000001
"HideFileExt"=dword:00000000
"DontPrettyPath"=dword:00000000
"ShowInfoTip"=dword:00000001
"HideIcons"=dword:00000000
"MapNetDrvBtn"=dword:00000000
"Filter"=dword:00000000
"ShowSuperHidden"=dword:00000000
"Start_TrackDocs"=dword:00000000
"ShowSyncProviderNotifications"=dword:00000000
"Start_TrackProgs"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People]
"PeopleBand"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings]
"NOC_GLOBAL_SETTING_ALLOW_TOASTS_ABOVE_LOCK"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\PushNotifications]
"ToastEnabled"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search]
"CortanaConsent"=dword:00000000
"SearchboxTaskbarMode"=dword:00000000
"BingSearchEnabled"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\SettingSync]
"SyncPolicy"=dword:00000005

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\SettingSync\Groups\Accessibility]
"Enabled"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\SettingSync\Groups\AppSync]
"Enabled"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\SettingSync\Groups\BrowserSettings]
"Enabled"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\SettingSync\Groups\Credentials]
"Enabled"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\SettingSync\Groups\Language]
"Enabled"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\SettingSync\Groups\Personalization]
"Enabled"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\SettingSync\Groups\Windows]
"Enabled"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Windows Search]
"CortanaConsent"=dword:00000000
Hive_Key_Local_Machine.reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OneDrive]
"PreventNetworkTrafficPreUserSignIn"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Bluetooth]
"AllowAdvertising"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Browser]
"AllowAddressBarDropdown"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\System]
"AllowBuildPreview"=dword:00000002
"AllowExperimentation"=dword:00000000
"AllowLocation"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Preferences]
"VoiceActivationDefaultOn"=dword:00000000
"ModelDownloadAllowed"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQMClient\Windows]
"CEIPEnable"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQMClient\Windows]
"CEIPEnable"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\appointments]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\broadFileSystemAccess]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\cellularData]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\chat]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\contacts]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\documentsLibrary]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\email]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\microphone]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\phoneCallHistory]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\picturesLibrary]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\userAccountInformation]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\userDataTasks]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\videosLibrary]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\webcam]
"Value"="Deny"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config]
"DODownloadMode"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata]
"PreventDeviceMetadataFromNetwork"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection]
"AllowTelemetry"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Privacy]
"TailoredExperiencesWithDiagnosticDataEnabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsStore\WindowsUpdate]
"AutoDownload"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\7971F918-A847-4430-9279-4A52D1EFE18D]
"RegisteredWithAU"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Biometrics]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MRT]
"DontReportInfectionInformation"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Speech]
"AllowSpeechModelUpdate"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender]
"DisableAntiSpyware"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Spynet]
"SpyNetReporting"=dword:00000000
"SubmitSamplesConsent"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform]
"NoGenTicket"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat]
"DisableInventory"=dword:00000001
"DisableUAR"=dword:00000001
"AITEnable"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredUI]
"DisablePasswordReveal"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection]
"DoNotShowFeedbackNotifications"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization]
"DODownloadMode"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\HandwritingErrorReports]
"PreventHandwritingErrorReports"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\LocationAndSensors]
"DisableWindowsLocationProvider"=dword:00000001
"DisableLocation"=dword:00000001
"DisableSensors"=dword:00000001
"DisableLocationScripting"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Maps]
"AutoDownloadAndUpdateMapData"=dword:00000000
"AllowUntriggeredNetworkTrafficOnSettingsPage"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Messaging]
"AllowMessageSync"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\OneDrive]
"DisableFileSyncNGSC"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Personalization]
"NoLockScreenCamera"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PreviewBuilds]
"EnableConfigFlighting"=dword:00000001
"EnableExperimentation"=dword:00000000
"AllowBuildPreview"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\TabletPC]
"PreventHandwritingDataSharing"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search]
"DisableWebSearch"=dword:00000001
"AllowCloudSearch"=dword:00000000
"AllowCortana"=dword:00000000
"AllowSearchToUseLocation"=dword:00000000
"ConnectedSearchUseWeb"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"ExcludeWUDriversInQualityUpdate"=dword:00000001
"DeferUpgrade"=dword:00000001
"DeferUpgradePeriod"=dword:00000000
"DeferUpdatePeriod"=dword:00000000
"PauseDeferrals"=dword:00000001
"DisableOSUpgrade"=dword:00000001
"DisableWindowsUpdateAccess"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WMDRM]
"DisableOnline"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\AutoLogger-Diagtrack-Listener]
"Start"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DiagTrack]
"Start"=dword:00000004

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\dmwappushservice]
"Start"=dword:00000004

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lfsvc\Service\Configuration]
"Status"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet]
"EnableActiveProbing"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv]
"Start"=dword:00000004
Wenn man in der O&O-Software alles ausschaltet, so dass man max. Schutz haben sollte, dann bekommt man u.a. diese Registry-Änderungen.

Jetzt kommt der Clu. Das reicht nicht aus!

Du kannst zwar durch solche Einstellungen einen Schutz erreichen, der ist aber nur vorübergehend. Rollst Du ein kumulatives Update aus, kann dieses die Einstellungen durchaus Microsoft-like wieder zurückstellen.

Ferner: Windows-Update hat einen Selbstheilungsmechanismus drin, den sih-client. Dieser wird vom Taskmanager regelmäßig abgefeuert. Wenn Du Dich also mal gewundert hast, dass ein deaktivierter Windows-Update-Dienst auf einmal doch hochgefahren war, dann kennst Du jetzt den Grund.

Den sih-Client kann man offline aus den geplanten Aufgaben löschen.
Dazu unter <MountDir>\Windows\System32\Tasks\Microsoft\Windows\WindowsUpdate die Jobdateien löschen.
Ferner unter Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks des Images den entsprechenden task raussuchen und rauswerfen.

Jetzt noch zwei Dinge:
Das REG-File für den Current-User muss einmalig angepasst werden auf den Pfad der eingehängten User_Registry (siehe Punkt 3.1.4.).
Damit werden diese Einstellungen lokal Default-Werte für jeden sich neu anmeldenden Benutzer.

Dauerhaftigkeit:
Um die Einstellungen dauerhaft zu machen, sollten die beiden Dateien mittels Shutdown- oder Startup-Script für die Maschinen-Einstellungen und Login-/Logout-Script für die Nutzereinstellungen angewendet werden.

Ich habe schon gesehen, dass sich das offline ins Image einbauen lässt, hab es aber noch nicht weiter geprüft. Dazu komme ich noch.
Bitte warten ..
Mitglied: Schluckimpfung
01.01.2020 um 20:15 Uhr
Hallo und frohes Neujahr,

ich bin gerade dabei, ein angepasstes Image zu bauen und würde gerne die Registry-Einträge einbauen, stoße aber auf ein Problem mit dem Ausdruck. Ganz oben unter 3.1.4. wird z.B. diese Syntax verwendet:
reg add HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Microsoft\Windows\CurrentVersion\Search /v SearchboxTaskbarMode /t REG_DWORD /d 0 /f
Die Aluhut-Einstellungen liegen aber in dieser Form vor:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OneDrive]
"PreventNetworkTrafficPreUserSignIn"=dword:00000001
Wie schreibt man die Befehle um, dass sie in die geladene Registry via Powershell eingetragen/geändert werden können? Außerdem wird zur Bearbeitung die "ntuser.dat" geladen; ist das trotzdem richtig, um die Zweige LocalMachine und CurrentUser modifizieren zu können?

Noch eine Anmerkung bzgl. des 1909-Updates, das kann wie andere Updates mitintegriert werden, wird aber nicht im Microsoft-Updatekatalog aufgeführt und muss anderweitig bezogen werden: https://support.microsoft.com/en-us/help/4517245/feature-update-via-wind ...
Damit das Paket wie unter 3.5.2. integriert werden kann, müssen zwei aktuelle Updates (Servicing Stack und Kumulatives Update) vorher eingebaut worden sein, deswegen muss man u.U. manuell auf das Paket verweisen:
dism /image:<mountdir> /add-package /Packagepath:KB4517245.cab
Dann funktioniert es.
Bitte warten ..
Mitglied: beidermachtvongreyscull
01.01.2020 um 22:15 Uhr
Zitat von Schluckimpfung:

Hallo und frohes Neujahr,

Hallo und Dir ebenfalls ein gutes neues Jahr!


ich bin gerade dabei, ein angepasstes Image zu bauen und würde gerne die Registry-Einträge einbauen, stoße aber auf ein Problem mit dem Ausdruck. Ganz oben unter 3.1.4. wird z.B. diese Syntax verwendet:
reg add HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Microsoft\Windows\CurrentVersion\Search /v SearchboxTaskbarMode /t REG_DWORD /d 0 /f
Die Aluhut-Einstellungen liegen aber in dieser Form vor:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OneDrive]
> "PreventNetworkTrafficPreUserSignIn"=dword:00000001
> 
Wie schreibt man die Befehle um, dass sie in die geladene Registry via Powershell eingetragen/geändert werden können? Außerdem wird zur Bearbeitung die "ntuser.dat" geladen; ist das trotzdem richtig, um die Zweige LocalMachine und CurrentUser modifizieren zu können?

So:
reg add HKEY_LOCAL_MACHINE\WIM\SOFTWARE\Microsoft\OneDrive /v PreventNetworkTrafficPreUserSignIn /t REG_DWORD /d 1 /f
Die Registryeinstellung der local USer werden in dieser Datei gehalten: <mountdir>\Users\Default\ntuser.dat
Hieraus wird eine Initialkopie pro Benutzer erstellt.

Der Befehl
reg load HKEY_LOCAL_MACHINE\WIM <mountdir>\Users\Default\ntuser.dat
besagt: Registrybaum aus der Datei <mountdir>\Users\Default\ntuser.dat ist zu laden und in die Live-Registry unter HKEY_LOCAL_MACHINE\WIM einzuhängen.

Das mag verwirrend sein, aber ist möglich.

Die Maschineneinstellungen werden in den Dateien <mountdir>\windows\System32\config\SYSTEM und <mountdir>\windows\System32\config\SOFTWARE gespeichert.



Noch eine Anmerkung bzgl. des 1909-Updates, das kann wie andere Updates mitintegriert werden, wird aber nicht im Microsoft-Updatekatalog aufgeführt und muss anderweitig bezogen werden: https://support.microsoft.com/en-us/help/4517245/feature-update-via-wind ...

Danke Dir für die Info.

Damit das Paket wie unter 3.5.2. integriert werden kann, müssen zwei aktuelle Updates (Servicing Stack und Kumulatives Update) vorher eingebaut worden sein, deswegen muss man u.U. manuell auf das Paket verweisen:
dism /image:<mountdir> /add-package /Packagepath:KB4517245.cab
Dann funktioniert es.

Die Servicing Stacks müssen tatsächlich vorab integriert werden.

Im Schatten der Cumulativen Updates neige ich bei meinen Installationen dazu, Windowsupdates auszusetzen, da die CUs zu viel Krempel mitbringen, der danach wieder installiert ist, obwohl man ihn nicht haben will.

Ich prüfe derzeit NTLite und MSMG als Alternativen, um unerwünschte Pakete zu entfernen.
Bitte warten ..
Mitglied: Schluckimpfung
03.01.2020 um 17:18 Uhr
Hallo,

es gibt einen Weg, .reg-Dateien bzw. Dateien, die die Syntax von .reg enthalten, in Kommandozeile zu überführen: https://www.sordum.org/8478/reg-converter-v1-2/
Man muss die erzeugte Batch-Datei nur noch im Editor bearbeiten bzw. die gewünschten/alle Befehle rauskopieren und in die Powershell einfügen.

Trotzdem noch eine Frage, weil mir die Bearbeitung der Registry im gemounteten Image etwas rätselhaft vorkommt. Die ntuser.dat habe ich wie unter 3.1.3. beschrieben geladen:
reg load HKEY_LOCAL_MACHINE\WIM <mountdir>\Users\Default\ntuser.dat
Dann konnte ich alle Befehle fehlerfrei ausführen, egal in welchem Ast die Einträge landen sollen, Beispiel:
reg add "HKCU\Control Panel\International\User Profile" /v "HttpAcceptLanguageOptOut" /t REG_DWORD /d "1" /f
reg add "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\FlipAhead" /v "FPEnabled" /t REG_DWORD /d "0" /f

Reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\7971F918-A847-4430-9279-4A52D1EFE18D" /v "RegisteredWithAU" /t REG_DWORD /d "0" /f
Reg add "HKLM\SOFTWARE\Policies\Microsoft\Biometrics" /v "Enabled" /t REG_DWORD /d "0" /f
Reg add "HKLM\SYSTEM\CurrentControlSet\Services\wuauserv" /v "Start" /t REG_DWORD /d "4" /f
War das jetzt richtig? Ich fremdel' immer noch mit dem Befehl "reg load HKEY_LOCAL_MACHINE\WIM", weil da hkey_local_machine drinsteht.......
Bitte warten ..
Mitglied: beidermachtvongreyscull
03.01.2020, aktualisiert um 17:49 Uhr
Zitat von Schluckimpfung:

Hallo,

Hi,

Zitat von Schluckimpfung:
es gibt einen Weg, .reg-Dateien bzw. Dateien, die die Syntax von .reg enthalten, in Kommandozeile zu überführen: https://www.sordum.org/8478/reg-converter-v1-2/
Man muss die erzeugte Batch-Datei nur noch im Editor bearbeiten bzw. die gewünschten/alle Befehle rauskopieren und in die Powershell einfügen.

Danke für die Info.

Zitat von Schluckimpfung:
Trotzdem noch eine Frage, weil mir die Bearbeitung der Registry im gemounteten Image etwas rätselhaft vorkommt. Die ntuser.dat habe ich wie unter 3.1.3. beschrieben geladen:
reg load HKEY_LOCAL_MACHINE\WIM <mountdir>\Users\Default\ntuser.dat
Dann konnte ich alle Befehle fehlerfrei ausführen, egal in welchem Ast die Einträge landen sollen, Beispiel:
reg add "HKCU\Control Panel\International\User Profile" /v "HttpAcceptLanguageOptOut" /t REG_DWORD /d "1" /f
> reg add "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\FlipAhead" /v "FPEnabled" /t REG_DWORD /d "0" /f
> 
> Reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\7971F918-A847-4430-9279-4A52D1EFE18D" /v "RegisteredWithAU" /t REG_DWORD /d "0" /f
> Reg add "HKLM\SOFTWARE\Policies\Microsoft\Biometrics" /v "Enabled" /t REG_DWORD /d "0" /f
> Reg add "HKLM\SYSTEM\CurrentControlSet\Services\wuauserv" /v "Start" /t REG_DWORD /d "4" /f
War das jetzt richtig? Ich fremdel' immer noch mit dem Befehl "reg load HKEY_LOCAL_MACHINE\WIM", weil da hkey_local_machine drinsteht.......

Nee. War nicht richtig. Und ja, klar geht das! Warum?

Die Erklärung ist, dass Du eine Registry nicht eigenständig unter Windows lädst, sondern sie immer der vorhandenen bereits geladenen anhängst.

Die Registry eines laufenden Windows (ONLINE) setzt sich aus diesen Dateien zusammen:

HKLM Unterschlüssel:Software: c:\windows\system32\config\SOFTWARE
HKLM Unterschlüssel:System: c:\windows\system32\config\SYSTEM
HKCU c:\users\"current user"\ntuser.dat

Die übrigen Schlüssel werden u.a. aus den Dateien abgeleitet. BSP HKCR. Den findest Du auch direkt HKLM-Software-Classes.

Du kannst den Registry-Teil eines Offline-Images an beliebiger Stelle der Life-Registry einhängen, aber eben nicht alleinig öffnen.
Du mountest ihn, wie Du auch das Offline-WIM-Image in einen Mountpath einhängst.

Und Du darfst nicht vergessen, dass Änderungen an der Offline-Registry dann auch über den richtigen Unterschlüssel adressiert werden müssen.

In Deinem Beispiel oben muss das so aussehen:

Du mountest den Registry-Baum für HKCU bzw. HKU->.DEFAULT mounten und in der Life-Registry unter HKLM\WIM einhängen.
reg load HKEY_LOCAL_MACHINE\WIM <mountdir>\Users\Default\ntuser.dat
Dann kannst Du folgende benutzerbezogene Registryeinstellungen wie folgt importieren:

reg add "**HKLM\WIM**\Control Panel\International\User Profile" /v "HttpAcceptLanguageOptOut" /t REG_DWORD /d "1" /f
reg add "**HKLM\WIM**\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\FlipAhead" /v "FPEnabled" /t REG_DWORD /d "0" /f
Dann schließt Du diesen Registry-Teil und hängst ihn mit
reg unload HKEY_LOCAL_MACHINE\WIM
wieder aus. Damit werden die Änderungen in der Datei "<mountdir>\Users\Default\ntuser.dat".

Jetzt hängst Du die Registry für die Maschine ein. Die Änderung soll in den Software-Schlüssel, als laden wir ihn:
reg load HKEY_LOCAL_MACHINE\WIM <mountdir>\windows\system32\config\SOFTWARE
Jetzt die passenden Befehle:
Reg add "**HKLM\WIM**\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\7971F918-A847-4430-9279-4A52D1EFE18D" /v "RegisteredWithAU" /t REG_DWORD /d "0" /f
Reg add "**HKLM\WIM**\SOFTWARE\Policies\Microsoft\Biometrics" /v "Enabled" /t REG_DWORD /d "0" /f
Danach auch diesen Teil wieder mit reg unload entladen.

Für den Befehl in Zeile 6 sieht es so aus:
Eine Änderung für HKLM->System, also:
reg load HKEY_LOCAL_MACHINE\WIM <mountdir>\windows\system32\config\**SYSTEM**
Der Befehl angepasst:
Reg add "HKLM\**WIM**\SYSTEM\CurrentControlSet\Services\wuauserv" /v "Start" /t REG_DWORD /d "4" /f
Und wieder reg unload nutzen, um die Registry auszuhängen.


Denke Dir bitte die Sternchen in den Codezeilen weg! Ich hoffte damit, die Stellen, auf die es ankommt, besser hervorzuheben.
Bitte warten ..
Mitglied: Schluckimpfung
18.01.2020 um 13:49 Uhr
Hallo,

leider hat das nicht geklappt, die gewünschten Einträge wurden erfolgreich eingetragen, aber leider nicht im gemounteten Image, sondern auf dem Online-System auf dem "Arbeitsrechner". Vermutlich waren meine Pfade falsch.

Meine Frage: Ist es egal, an welcher Stelle der Registry man die Datei (NTUSER.dat, SYSTEM, SOFTWARE) des offline-Systemes einhängt? Im Registry-Editor wird die Funktion "Struktur laden" nur für HKLM und HKU angezeigt. Ich habe das gefunden: https://www.windowspro.de/wolfgang-sommergut/registry-offline-bearbeiten ...
Das ist zum ansehen etwas komfortabler und so kann ein bereits installiertes, nicht gestartetes Windows bearbeitet werden.
Bitte warten ..
Mitglied: beidermachtvongreyscull
18.01.2020 um 18:35 Uhr
Hi,

um Deine Frage zu beantworten:

Ja. Es ist egal, wo Du die entsprechende Datei einhängst.
Über Regedit bietet sich nur eine Möglichkeit, aber auch das ist ok.

Der Weg über Powershell entspricht dem, was ich oben beschrieben habe.
Bitte warten ..
Ähnliche Inhalte
Microsoft

Windows 7 und Office 2010 ISO Download gehen wieder mit dem Windows ISO Downloader von heidoc.net

Information von LochkartenstanzerMicrosoft6 Kommentare

Moin, Die Version 6.0 des Tools ist draußen und man kann damit wieder Windows 7 und Windows 10 ISOs ...

Windows 10

Upgrade auf Windows 10 - Windows 10 hängt sich auf

Erfahrungsbericht von 1Werner1Windows 10

Moin, ich stelle fest das sich nach dem Upgrade oft Windows 10 aufhängt. ( Bildschirm friert evtl. ein) Schuld ...

Windows Installation

Windows Install ISO mit übergroßer Install.wim auf FAT32 übertragen

Tipp von LochkartenstanzerWindows Installation11 Kommentare

Moin Kollegen, Viele von euch werden sicher aus praktischen Gründen nicht nur DVDs oder "virtuelle" CD-Laufwerke (Zalman, IODD) zum ...

Vmware

Achtung vor ESXi 6.5 Update 3 HPE Custom

Information von chgorgesVmware3 Kommentare

Hallo zusammen, ich hatte die Tage eine unschöne Begegnung mit dem ESXI 6.5 Update 3 HPE Custom. Bei einem ...

Neue Wissensbeiträge
Sicherheit
0-day Schwachstelle im Internet Explorer
Information von kgborn vor 1 TagSicherheit

In Microsofts Internet Explorer gibt es eine 0-day Schwachstelle in der Scripting Engine, die faktisch alle Browser- und Windows-Versionen ...

Internet

Internet-Speedtest Automatisieren via Befehlszeile, cmd, Bash (Windows, Linux, FreeBSD, Mac)

Tipp von anteNope vor 1 TagInternet3 Kommentare

Also das hier ist irgendwie an mir vorbeigegangen. Einfacher geht es schlicht nicht mehr. Speedtest.cmd Via Aufgabenplanung stündlich oder ...

Administrator.de Feedback

Entwicklertagebuch: Codeblöcke auf unseren Seiten

Information von admtech vor 2 TagenAdministrator.de Feedback8 Kommentare

Hallo Administrator User, Unsere Codeblöcke werden ab sofort anders dargestellt. Die Codeblöcke können nun direkt per Copy&Paste kopiert werden. ...

Humor (lol)
Internet - auch 2020 noch Neuland ?
Erfahrungsbericht von Henere vor 2 TagenHumor (lol)6 Kommentare

Heute eine Mail der Schule meiner Tochter bekommen. Blabla Umweltschutz bla bla siehe Anhang. Dumm nur: Da hab ich ...

Heiß diskutierte Inhalte
Webbrowser
Kann Firefox von Google Suche nicht befreien
Frage von RG2525Webbrowser16 Kommentare

Hallo, Das passiert jetzt in letzter Zeit auf mehreren Computern von mir, dass die Google Suche sich nicht ausschalten ...

Windows Userverwaltung
Laptop WAKE ON LAN problem
Frage von WhatEver007Windows Userverwaltung9 Kommentare

Hallo, wie oben beschrieben geht es um wake on lan. Wenn ich auf meinen Netzwerkadapter gehe sehe ich keine ...

Peripheriegeräte
Datenstrom Drucker
Frage von FragefuchsPeripheriegeräte9 Kommentare

Moin, kann mir jemand sagen, wie Computer Daten an einen Drucker weitergeben? Gibt es dafür ein Protokoll oder Format? ...

Sicherheits-Tools
Passwort Manager mit AD anbindung und dt. Oberfläche
gelöst Frage von sani007Sicherheits-Tools9 Kommentare

Hallo Ich suche kostengünstigen Passwort Manager mit AD-Anbindung mit weboberfläche. Am besten mit VM-Image zur schnellen Installation. Wenn es ...