I'm not aware of any such tool available for 'home use' but as most Windows settings are stored in the Registry it shouldn't be impossible to use a succession of 'RegRead' calls to dump to a text file. It all depends on what settings you mean and whether the settings locations can be found easily.
For example, it's easy to locate the configuration state of Windows services (i.e. whether 'disabled') or the workgroup name or many of the network settings.
How you export the detail is up to you - a BAT/CMD script, a PowerShell script or - what I use -
AutoHotkey (but
AutoIt can also be used). They all allow the use of commands to export the information that I think you are referring to... you would just need to 'append' each output to a single destination file so the info doesn't end up multiple text files. To be honest,
PowerShell is probably best suited for the task... but many people (like me) find it difficult to write the necessary queries. As a result I use a combination of
AutoHotkey for the simple RegReads and
PowerShell for the more complex interrogation of the OS, e.g. what optional features (like SMB1) are installed.
(I use a similar method - i.e. running an AutoHotkey script chock-full of RegWrites - to configure new devices to a common standard.) One problem is that Microsoft now appears to be intent on obfuscating many of the settings which previously were visible in easily-understood human-readable locations with - for example - straighforward filepaths.
If you do a Google search for something like
registry settings to text file you'll discover loads of examples of how people have used different methods to create the text file.
Once the text files are created they can then be compared easily using something like
Notepad++'s
Compare plug-in:
What sort of 'settings options' are you interested in? If, for example, you want something like
O&O ShutUp10 then the
Privacy settings it uses are fairly simple to duplicate. Here, for example, is a snippet from an AutoHotkey script that configures
Privacy settings to a common standard:
Code:
; *********************************
; Section 8 - Privacy (inc. telemetry)
; *********************************
; Section 8a - General
; Let apps use my advertising ID for experiences across apps (1=Turn ON / 0=Turn OFF)
RegWrite, REG_DWORD, HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo, Enabled, 0
; Turn on SmartScreen Filter to check web content (URLs) that Windows Store apps use (1=Turn ON / 0=Turn OFF)
RegWrite, REG_DWORD, HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost, EnableWebContentEvaluation, 0
; Send Microsoft info about how I write to help us improve typing and writing in the future (1=Turn ON / 0=Turn OFF)
RegWrite, REG_DWORD, HKCU\SOFTWARE\Microsoft\Input\TIPC, Enabled, 0
; Let websites provide locally relevant content by accessing my language list (1=Turn OFF / 0=Turn ON)
RegWrite, REG_DWORD, HKCU\Control Panel\International\User Profile, HttpAcceptLanguageOptOut, 1
; Section 8b - Location
; Location services for this account - Turn OFF
RegWrite, REG_SZ, HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}, Value, Deny ; (Allow=Turn ON / Deny=Turn OFF)
RegWrite, REG_DWORD, HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Sensor\Permissions\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}, SensorPermissionState, 0 ; (1=Turn ON / 0=Turn OFF)
; Section 8c - Camera
; Let apps use my camera (Allow=Turn ON / Deny=Turn OFF)
RegWrite, REG_SZ, HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{E5323777-F976-4f5b-9B55-B94699C46E44}, Value, Deny
The script continues through multiple devices then ends with a section turning telemetry and background apps off:
Code:
; Section 8n - Feedback & diagnostics (aka telemetry)
; Feedback frequency - Windows should ask for my feedback - NEVER (SIUF = System Initiated User Feedback)
RegWrite, REG_DWORD, HKCU\SOFTWARE\Microsoft\Siuf\Rules, NumberOfSIUFInPeriod, 0
; Diagnostic and usage data - Send your device data to Microsoft - BASIC
RegWrite, REG_DWORD, HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection, AllowTelemetry, 1
RegWrite, REG_DWORD, HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection, AllowTelemetry, 0
; Media Player - Customer Experience Improvement Program (CEIP) tracking - DISABLE
RegWrite, REG_DWORD, HKCU\Software\Microsoft\MediaPlayer\Preferences, UsageTracking, 0
; Section 8o - Background apps
; Alarms & clocks - Turn OFF
RegWrite, REG_DWORD, HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications\Microsoft.WindowsAlarms_10.1603.12020.0_x86__8wekyb3d8bbwe, Disabled, 1
; Skype video - Turn OFF
RegWrite, REG_DWORD, HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications\Microsoft.Messaging_2.15.20002.0_x86__8wekyb3d8bbwe, Disabled, 1
For YOUR purposes, the script would not use 'RegWrite' but use 'RegRead' instead to read the value of each key then append the name of the key and its value to a text file for comparison.
However, as you can see from the code snippets above, it's not an easy undertaking working out where the settings are stored.
Hope this helps...