diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 97ea361e..aafd7197 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -7,7 +7,7 @@ body: attributes: value: | Thank you for taking your time to file a bug report! Please fill out the following information to help us fix the bug - + - type: textarea id: describe-bug validations: @@ -16,7 +16,7 @@ body: label: Describe the bug description: A clear and concise description of what the bug is. placeholder: I was trying to do X, but Y happened instead - + - type: textarea id: steps-to-reproduce validations: @@ -34,7 +34,7 @@ body: 2. Click on '....' 3. Scroll down to '....' 4. See error - + - type: textarea id: expected-behavior validations: @@ -43,7 +43,7 @@ body: label: Expected behavior description: A clear and concise description of what you expected to happen placeholder: I expected Z to happen. - + - type: textarea id: environment validations: @@ -60,7 +60,7 @@ body: - OS Build Number & Edition: `19045.3633, Home` - ReviOS version: `23.10` - Specs: `PC, Intel Core i5-10400, 16GB RAM, NVIDIA GeForce GTX 1650` - + - type: textarea id: additional-info attributes: @@ -69,7 +69,7 @@ body: Add any other context about the problem here placeholder: | I disabled Windows Defender, but it is still running after reboot. - + - type: checkboxes id: search-before-submit attributes: diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index dbed7450..7d448ad6 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -14,7 +14,7 @@ body: required: true attributes: label: Description - description: A clear and concise description + description: A clear and concise description placeholder: Add a feature that does X. - type: textarea diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 06d83874..b6b0fd2d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -60,6 +60,6 @@ jobs: If you would like to support Revision, kindly download the Playbook from the provided link below. - 📌Link: + 📌Link: SHA256: `${{ env.HASH }}` diff --git a/LICENSE b/LICENSE index e30f3363..294379fd 100644 --- a/LICENSE +++ b/LICENSE @@ -49,7 +49,7 @@ exhaustive, and do not form part of our licenses. such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations - for the public: + for the public: wiki.creativecommons.org/Considerations_for_licensees ======================================================================= diff --git a/src/Configuration/Tasks/final.yml b/src/Configuration/Tasks/final.yml index 35766e4c..fd452a70 100644 --- a/src/Configuration/Tasks/final.yml +++ b/src/Configuration/Tasks/final.yml @@ -15,11 +15,11 @@ actions: } # Disable Memory Compression - - !powerShell: + - !powerShell: command: 'Disable-MMAgent -mc' - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Services\Pending\7971f918-a847-4430-9279-4a52d1efe18d', value: 'RegisterWithAU', type: REG_DWORD, data: '0'} - + # [!] Breaks 'defrag c: -b' # Disable Superfetch for SSDs # Detection of mediaType might not work on VMs @@ -30,11 +30,11 @@ actions: # $path = ${env:ProgramFiles(x86)} + '\Revision Tool\data\flutter_assets\additionals\DisableSF.bat' # Start-Process -FilePath $path -Wait -NoNewWindow # } - + - !cmd: command: 'setx DOTNET_CLI_TELEMETRY_OPTOUT 1' runas: currentUserElevated - + - !cmd: command: 'setx POWERSHELL_TELEMETRY_OPTOUT 1' runas: currentUserElevated @@ -83,12 +83,12 @@ actions: option: "configure-wallpaper" weight: 45 - - !powerShell: + - !powerShell: command: '.\WALLPAPER.ps1 -Mode LockScreen -ImagePath $env:systemroot\Web\Wallpaper\MeetRevision\v2\lockscreen.jpg' exeDir: true runas: currentUserElevated option: "configure-wallpaper" - weight: 45 + weight: 45 # Necessary to refresh start menu entries etc. - !appx: {operation: clearCache, name: '*Client.CBS*'} @@ -97,7 +97,7 @@ actions: - !appx: {operation: clearCache, name: '*TCUI*'} # Force update group policy - - !run: + - !run: exe: "gpupdate.exe" # Apply micro patches via Revision Tool in order to avoid new playbook releases for minor changes @@ -107,7 +107,7 @@ actions: args: "playbook-patches apply" wait: true runas: currentUserElevated - + - !powerShell: command: | $explorerProcess = Get-Process -Name explorer -ErrorAction SilentlyContinue diff --git a/src/Configuration/Tasks/packages/app-win32.yml b/src/Configuration/Tasks/packages/app-win32.yml index 0426f3cc..73956632 100644 --- a/src/Configuration/Tasks/packages/app-win32.yml +++ b/src/Configuration/Tasks/packages/app-win32.yml @@ -19,7 +19,7 @@ actions: weight: 30 command: >- .\APPX-REMOVER.ps1 -Packages 'Microsoft.Copilot' - + - !powerShell: command: '.\EDGE.ps1 -Mode EdgeBrowser' exeDir: true diff --git a/src/Configuration/Tasks/packages/appx.yml b/src/Configuration/Tasks/packages/appx.yml index d7663dea..67a893bf 100644 --- a/src/Configuration/Tasks/packages/appx.yml +++ b/src/Configuration/Tasks/packages/appx.yml @@ -3,7 +3,7 @@ title: APPX description: Removal of APPX packages privilege: TrustedInstaller actions: - + - !writeStatus: {status: "Removing Appx Packages"} - !powerShell: # runas: currentUserElevated @@ -82,7 +82,7 @@ actions: weight: 10 command: >- .\APPX-REMOVER.ps1 -Packages 'Microsoft.Windows.DevHome' - + - !writeStatus: {status: "Removing Xbox Apps", option: "remove-appx-xbox"} - !powerShell: option: "remove-appx-xbox" @@ -131,7 +131,7 @@ actions: weight: 10 command: >- .\APPX-REMOVER.ps1 -Packages 'MicrosoftWindows.Client.AIX' - + # - !writeStatus: {status: "Removing Appx Packages"} # # - !appx: {name: '*Disney*', type: family, weight: 10} @@ -157,7 +157,7 @@ actions: # - !appx: {name: '*Microsoft.Windows.Photos*', type: family, option: "remove-appx-photos", weight: 10} # - !writeStatus: {status: "Removing Camera"} # - !appx: {name: '*Microsoft.WindowsCamera*', type: family, weight: 10} - + # - !writeStatus: {status: "Removing Widgets"} # - !powerShell: # command: 'Get-AppxPackage MicrosoftWindows.Client.WebExperience | Remove-AppxPackage' @@ -166,13 +166,13 @@ actions: # - !writeStatus: {status: "Removing Alarms"} # - !appx: {name: '*Microsoft.WindowsAlarms*', type: family, weight: 10} - + # - !writeStatus: {status: "Removing Maps"} # - !appx: {name: '*Microsoft.WindowsMaps*', type: family, weight: 10} - + # - !writeStatus: {status: "Removing Sticky Notes"} # - !appx: {name: '*Microsoft.MicrosoftStickyNotes*', type: family, weight: 10} - + # - !writeStatus: {status: "Removing Mail"} # - !powerShell: # command: 'Get-AppxPackage *windowscommunicationsapps* | Remove-AppxPackage' @@ -213,12 +213,12 @@ actions: # # Cortana # - !writeStatus: {status: "Removing Cortana"} # - !appx: {name: '*Microsoft.549981C3F5F10*', type: family, weight: 10} - + # - !writeStatus: {status: "Removing QuickAssist"} # - !appx: {name: '*MicrosoftCorporationII.QuickAssist*', type: family, weight: 10} # - !writeStatus: {status: "Removing MS Family"} # - !appx: {name: '*MicrosoftCorporationII.MicrosoftFamily*', type: family, weight: 10} - + # - !writeStatus: {status: "Removing ZuneMusic"} # - !appx: {name: '*Microsoft.ZuneMusic*', type: family, weight: 10} # - !writeStatus: {status: "Removing ZuneVideo"} @@ -232,7 +232,7 @@ actions: # - !writeStatus: {status: "Removing skydrive"} # - !appx: {name: '*microsoft.microsoftskydrive*', type: family, weight: 10} - + # - !writeStatus: {status: "Removing TeamsforSurfaceHub"} # - !appx: {name: '*Microsoft.MicrosoftTeamsforSurfaceHub*', type: family, weight: 10} # - !writeStatus: {status: "Removing MailforSurfaceHub"} @@ -241,7 +241,7 @@ actions: # - !appx: {name: '*Microsoft.MicrosoftPowerBIForWindows*', type: family, weight: 10} # - !writeStatus: {status: "Removing Skype"} # - !appx: {name: '*Microsoft.SkypeApp*', type: family, weight: 10} - + # - !writeStatus: {status: "Removing UWP Office"} # - !appx: {name: '*Microsoft.MicrosoftOfficeHub*', type: family, weight: 10} # - !appx: {name: '*Microsoft.Office.Excel*', type: family, weight: 10} @@ -260,7 +260,7 @@ actions: # - !writeStatus: {status: "Removing MixedRealityPortal"} # - !appx: {name: '*MixedReality.Portal*', type: family, weight: 10} - + # # Paint 3D # - !writeStatus: {status: "Removing Paint 3D"} # - !appx: {name: '*Microsoft.MSPaint*', type: family, weight: 10} @@ -282,7 +282,7 @@ actions: # - !writeStatus: {status: "Removing Dev Home"} # - !appx: {name: '*DevHome*', type: family, option: "remove-appx-devhome", weight: 10} - + # # - !writeStatus: {status: "Removing Windows Backup"} # # - !appx: {name: '*WindowsBackup*', type: app, unregister: true, option: "remove-appx-wbackup", weight: 10} @@ -293,12 +293,11 @@ actions: # - !appx: {name: '*Microsoft.Xbox*', type: family, weight: 10, option: "remove-appx-xbox"} # - !appx: {name: '*Microsoft.GamingApp*', type: family, option: "remove-appx-xbox"} # # Xbox Console Companion is deprecated -# - !appx: {name: '*Microsoft.XboxApp*', type: family} +# - !appx: {name: '*Microsoft.XboxApp*', type: family} - # - !writeStatus: {status: "Removing Your Phone", option: "remove-appx-yourphone"} # - !appx: {name: '*Microsoft.YourPhone*', type: family, weight: 10, option: "remove-appx-yourphone"} # - !appx: {name: '*MicrosoftWindows.CrossDevice*', type: family, weight: 10, option: "remove-appx-yourphone"} # - !writeStatus: {status: "Removing Recall", option: "remove-appx-recall"} -# - !appx: {name: '*MicrosoftWindows.Client.AIX*', type: family, weight: 10, option: "remove-appx-recall"} +# - !appx: {name: '*MicrosoftWindows.Client.AIX*', type: family, weight: 10, option: "remove-appx-recall"} \ No newline at end of file diff --git a/src/Configuration/Tasks/packages/win-sxs.yml b/src/Configuration/Tasks/packages/win-sxs.yml index 063a0d4e..e95cf33d 100644 --- a/src/Configuration/Tasks/packages/win-sxs.yml +++ b/src/Configuration/Tasks/packages/win-sxs.yml @@ -129,7 +129,7 @@ actions: # - !systemPackage: {name: 'Microsoft-Windows-ErrorReportingCore', arch: wow64, language: 'neutral'} # - !systemPackage: {name: 'Microsoft-Windows-ErrorReportingDumpTypeControl-Deployment', arch: amd64, language: 'neutral'} # # - !systemPackage: {name: 'Microsoft-Windows-ErrorReportingFaults', arch: amd64, language: 'neutral'} -# # Breaks compatibility with some games, https://github.com/Atlas-OS/Atlas/issues/685 +# # Breaks compatibility with some games, https://github.com/Atlas-OS/Atlas/issues/685 # # - !systemPackage: {name: 'Microsoft-Windows-ErrorReportingFaults', arch: wow64, language: 'neutral'} # # - !systemPackage: {name: 'Microsoft-Windows-ErrorReportingKernel', arch: amd64, language: 'neutral'} # # - !systemPackage: {name: 'Microsoft-Windows-ErrorReportingPowershell', arch: amd64, language: 'neutral'} diff --git a/src/Configuration/Tasks/registry.yml b/src/Configuration/Tasks/registry.yml index 22629e8c..5c51d93d 100644 --- a/src/Configuration/Tasks/registry.yml +++ b/src/Configuration/Tasks/registry.yml @@ -2,7 +2,7 @@ title: Registry description: Revision registry configuration privilege: TrustedInstaller -actions: +actions: - !writeStatus: {status: "Tweaking registry"} # OS Info diff --git a/src/Configuration/Tasks/registry/explorer/control-panel.yml b/src/Configuration/Tasks/registry/explorer/control-panel.yml index 8f69d553..e3d24380 100644 --- a/src/Configuration/Tasks/registry/explorer/control-panel.yml +++ b/src/Configuration/Tasks/registry/explorer/control-panel.yml @@ -7,7 +7,7 @@ actions: # === Disable Wallpaper JPEG (.jpg) image Compression. - !registryValue: {path: 'HKCU\Control Panel\Desktop', value: 'JPEGImportQuality', type: REG_DWORD, data: '100'} - !registryValue: {path: 'HKU\.DEFAULT\Control Panel\Desktop', value: 'JPEGImportQuality', type: REG_DWORD, data: '100'} - + # === Disable system beeps. - !registryValue: {path: 'HKCU\Control Panel\Sound', value: 'Beep', type: REG_SZ, data: 'no'} - !registryValue: {path: 'HKU\.DEFAULT\Control Panel\Sound', value: 'Beep', type: REG_SZ, data: 'no'} @@ -15,11 +15,11 @@ actions: # === Changes the time (milliseconds) it takes for the tooltips to pop up when hovering your mouse over elements to 30 ms. (default = 400 ms) - !registryValue: {path: 'HKCU\Control Panel\Mouse', value: 'MouseHoverTime', type: REG_SZ, data: '30'} - !registryValue: {path: 'HKU\.DEFAULT\Control Panel\Mouse', value: 'MouseHoverTime', type: REG_SZ, data: '30'} - + # === Makes the Start Menu appear almost instantly when you click on the Windows icon in the Taskbar. - !registryValue: {path: 'HKCU\Control Panel\Desktop', value: 'MenuShowDelay', type: REG_SZ, data: '0'} - !registryValue: {path: 'HKU\.DEFAULT\Control Panel\Desktop', value: 'MenuShowDelay', type: REG_SZ, data: '0'} - + # === Specifies time (in milliseconds) that the mouse needs to remain over a window before the window is activated. (current setting is 10 ms) - !registryValue: {path: 'HKCU\Control Panel\Desktop', value: 'ActiveWndTrkTimeout', type: REG_DWORD, data: '10'} - !registryValue: {path: 'HKU\.DEFAULT\Control Panel\Desktop', value: 'ActiveWndTrkTimeout', type: REG_DWORD, data: '10'} @@ -27,19 +27,19 @@ actions: # === Disables the blue screen that pops up when you're trying to shutdown or restart, asking you to save your work. - !registryValue: {path: 'HKCU\Control Panel\Desktop', value: 'AutoEndTasks', type: REG_SZ, data: '1'} - !registryValue: {path: 'HKU\.DEFAULT\Control Panel\Desktop', value: 'AutoEndTasks', type: REG_SZ, data: '1'} - + # === HungAppTimeout also specifies how long (5 seconds by default) the system waits for user processes to end after the user clicks/taps on the End task button in Task Manager. # ------> Changed 2 seconds (2000), default is 5 seconds (5000). # ------> https://www.tenforums.com/tutorials/97842-change-hungapptimeout-value-windows-10-a.html - !registryValue: {path: 'HKCU\Control Panel\Desktop', value: 'HungAppTimeout', type: REG_SZ, data: '2000'} - !registryValue: {path: 'HKU\.DEFAULT\Control Panel\Desktop', value: 'HungAppTimeout', type: REG_SZ, data: '2000'} - + # === The WaitToKillAppTimeout value determines how long the system waits for user processes to end after the user attempts to sign out, restart, or shut down Windows. # ------> Default is 20 seconds (20000). # ------> https://www.eightforums.com/threads/waittokillapptimeout-specify-for-shutdown-in-windows.37424/ - !registryValue: {path: 'HKCU\Control Panel\Desktop', value: 'WaitToKillAppTimeout', type: REG_SZ, data: '2000'} - !registryValue: {path: 'HKU\.DEFAULT\Control Panel\Desktop', value: 'WaitToKillAppTimeout', type: REG_SZ, data: '2000'} - + # === This value controls the timeout period in milliseconds for all low-level hooks. # ------> https://www.registryrecycler.com/blog/2013/07/speed-up-your-windows-pc-through-registry/ # ------> https://www.quickmacros.com/au/help/api/Au.AHookWin.LowLevelHooksTimeout.html#Au_AHookWin_LowLevelHooksTimeout_remarks @@ -58,7 +58,6 @@ actions: - !registryValue: {path: 'HKU\.DEFAULT\Control Panel\Accessibility\MouseKeys', value: 'TimeToMaximumSpeed', operation: delete} - !registryValue: {path: 'HKU\.DEFAULT\Control Panel\Accessibility\MouseKeys', value: 'TimeToMaximumSpeed', operation: delete} - # === Unticks Enhance Pointer Precision in Control Panel -> Mouse -> Pointer Options - !registryKey: {path: 'HKCU\Control Panel\Accessibility\MouseKeys', operation: add} - !registryValue: {path: 'HKCU\Control Panel\Mouse', value: 'MouseSpeed', type: REG_SZ, data: '0'} @@ -72,7 +71,6 @@ actions: # ------> If disabled, Settings will not contact Microsoft content services to retrieve tips and help content. - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer', value: 'AllowOnlineTips', type: REG_DWORD, data: '0'} - # ================================================= # === Remove Ease of Access hives from Registry === # ================================================= @@ -104,7 +102,7 @@ actions: - !registryKey: {path: 'HKU\.DEFAULT\Control Panel\Accessibility\StickyKeys'} - !registryKey: {path: 'HKU\.DEFAULT\Control Panel\Accessibility\TimeOut'} - !registryKey: {path: 'HKU\.DEFAULT\Control Panel\Accessibility\ToggleKeys'} - + # =================================================== # === Disable Ease of Access features in Registry === # =================================================== diff --git a/src/Configuration/Tasks/registry/explorer/explorer.yml b/src/Configuration/Tasks/registry/explorer/explorer.yml index d3601948..90f56707 100644 --- a/src/Configuration/Tasks/registry/explorer/explorer.yml +++ b/src/Configuration/Tasks/registry/explorer/explorer.yml @@ -5,11 +5,11 @@ privilege: TrustedInstaller actions: # === perf: Disables Automatic Folder Type Discovery - # ------> Disabling it fixes the 'folder always loading' issue when a folder contains a lot of media files. + # ------> Disabling it fixes the 'folder always loading' issue when a folder contains a lot of media files. # ------> https://www.windowslatest.com/2024/03/04/windows-11-can-open-big-folders-in-file-explorer-faster-if-you-turn-off-folder-discovery/ - - !registryValue: {path: 'HKCU\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell', value: 'FolderType', type: REG_SZ, data: 'NotSpecified'} + - !registryValue: {path: 'HKCU\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell', value: 'FolderType', type: REG_SZ, data: 'NotSpecified'} - !registryValue: {path: 'HKU\.DEFAULT\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell', value: 'FolderType', type: REG_SZ, data: 'NotSpecified'} - + # === perf: Force explorer to use high performance GPU - !registryValue: { path: 'HKCU\Software\Microsoft\DirectX\UserGpuPreferences', value: 'C:\Windows\explorer.exe', type: REG_SZ, data: 'GpuPreference=2;' } @@ -20,7 +20,7 @@ actions: - !registryValue: { path: 'HKLM\SOFTWARE\Policies\Microsoft\Windows\Explorer', value: 'DisableGraphRecentItems', type: REG_DWORD, data: '1' } # === perf: Disable 'Group By' in the Downloads folder to avoid unnecessary dates comparison - - !powerShell: + - !powerShell: runas: trustedInstaller command: | $folderTypesKey = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes' @@ -32,9 +32,9 @@ actions: Set-ItemProperty -Path $_.PSPath -Name GroupBy -Value '' } } - + # Necessary to refresh 'Bags' - - !powerShell: + - !powerShell: runas: currentUserElevated command: | $downloadsFolderID = '{885a186e-a440-4ada-812b-db871b942259}' @@ -43,7 +43,7 @@ actions: $fullPath = Join-Path -Path $_.PSPath -ChildPath 'Shell\{885A186E-A440-4ADA-812B-DB871B942259}' if (Test-Path -Path $fullPath) { Remove-Item -Path $fullPath -Recurse - } + } } # === Disable the new Spotlight icon on Desktop (24H2) @@ -54,26 +54,26 @@ actions: - !registryValue: {path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer', value: 'MultipleInvokePromptMinimum', type: REG_DWORD, data: '100'} - !registryValue: {path: 'HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer', value: 'MultipleInvokePromptMinimum', type: REG_DWORD, data: '100'} - !registryValue: {path: 'HKCU\Software\Winaero.com\Winaero Tweaker\Changes', value: 'pageContextMenuSelectionLimit', type: REG_DWORD, data: '1'} - + # === Disable ' - Shortcut.' text on shortcut creation. - !registryValue: {path: 'HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer', value: 'link', type: REG_BINARY, data: '00000000'} - !registryValue: {path: 'HKU\.DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer', value: 'link', type: REG_BINARY, data: '00000000'} - + # === Always show more details in a file copy dialog - Enabled - !registryValue: {path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager', value: 'EnthusiastMode', type: REG_DWORD, data: '1'} - !registryValue: {path: 'HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager', value: 'EnthusiastMode', type: REG_DWORD, data: '1'} - + # === AutoPlay - Disabled # ------> Auto play is the notification that pops up when you insert an external storage device, like a USB. - !registryValue: {path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers', value: 'DisableAutoplay', type: REG_DWORD, data: '1'} - !registryValue: {path: 'HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers', value: 'DisableAutoplay', type: REG_DWORD, data: '1'} - + # === AutoRun - Disabled # ------> Disable autorun will limit the functionality of autorun.inf on all disks. # ------> https://learn.microsoft.com/en-us/windows/win32/shell/autoplay-reg - !registryValue: {path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer', value: 'NoDriveTypeAutoRun', type: REG_DWORD, data: '255'} - !registryValue: {path: 'HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer', value: 'NoDriveTypeAutoRun', type: REG_DWORD, data: '255'} - + # === Windows low disk space checking - Disabled # ------> (Also prevents idle hard disks from going into standby) - !registryValue: {path: 'HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer', value: 'NoLowDiskSpaceChecks', type: REG_DWORD, data: '1'} @@ -93,14 +93,14 @@ actions: # === Disable Taskbar Animations. (prevents the pop up windows in the taskbar from getting stuck too) - !registryValue: {path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', value: 'TaskbarAnimations', type: REG_DWORD, data: '0', option: 'configure-explorer-taskbar-animations'} - !registryValue: {path: 'HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', value: 'TaskbarAnimations', type: REG_DWORD, data: '0', option: 'configure-explorer-taskbar-animations'} - + - !registryValue: { path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', value: 'TaskbarAnimations', operation: delete, option: '!configure-explorer-taskbar-animations' } - !registryValue: { path: 'HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', value: 'TaskbarAnimations', operation: delete, option: '!configure-explorer-taskbar-animations' } # === Allow Windows Ink Workspace - Enabled (On, but disallow access above lock) # ------> https://admx.help/?Category=Windows_11_2022&Policy=Microsoft.Policies.WindowsInkWorkspace::AllowSuggestedAppsInWindowsInkWorkspace - !registryValue: {path: 'HKLM\SOFTWARE\Policies\Microsoft\WindowsInkWorkspace', value: 'AllowWindowsInkWorkspace', type: REG_DWORD, data: '1'} - + # === Allow suggested apps in Windows Ink Workspace - Disabled - !registryValue: {path: 'HKLM\SOFTWARE\Policies\Microsoft\WindowsInkWorkspace', value: 'AllowSuggestedAppsInWindowsInkWorkspace', type: REG_DWORD, data: '0'} diff --git a/src/Configuration/Tasks/registry/explorer/notifications.yml b/src/Configuration/Tasks/registry/explorer/notifications.yml index ae58520d..9a403ce7 100644 --- a/src/Configuration/Tasks/registry/explorer/notifications.yml +++ b/src/Configuration/Tasks/registry/explorer/notifications.yml @@ -7,7 +7,7 @@ actions: # === Turn off feature advertisement balloon notifications - Enabled - !registryValue: {path: 'HKCU\Software\Policies\Microsoft\Windows\Explorer', value: 'NoBalloonFeatureAdvertisements', type: REG_DWORD, data: '1'} - !registryValue: {path: 'HKU\.DEFAULT\Software\Policies\Microsoft\Windows\Explorer', value: 'NoBalloonFeatureAdvertisements', type: REG_DWORD, data: '1'} - + # === Turn off notification area cleanup - Enabled - !registryValue: {path: 'HKCU\Software\Policies\Microsoft\Windows\Explorer', value: 'NoAutoTrayNotify', type: REG_DWORD, data: '1'} - !registryValue: {path: 'HKU\.DEFAULT\Software\Policies\Microsoft\Windows\Explorer', value: 'NoAutoTrayNotify', type: REG_DWORD, data: '1'} diff --git a/src/Configuration/Tasks/registry/explorer/start-menu.yml b/src/Configuration/Tasks/registry/explorer/start-menu.yml index 363696f9..c57d418b 100644 --- a/src/Configuration/Tasks/registry/explorer/start-menu.yml +++ b/src/Configuration/Tasks/registry/explorer/start-menu.yml @@ -1,5 +1,5 @@ --- -title: Configure Explorer -> Start Menu +title: Configure Explorer -> Start Menu description: Configure Start Menu privilege: TrustedInstaller actions: @@ -9,10 +9,10 @@ actions: - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start', value: 'ConfigureStartPins', type: REG_SZ, data: '{"pinnedList":[{"packagedAppId":"Microsoft.WindowsStore_8wekyb3d8bbwe!App"},{"packagedAppId":"windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel"},{"packagedAppId":"Microsoft.WindowsNotepad_8wekyb3d8bbwe!App"},{"packagedAppId":"Microsoft.Paint_8wekyb3d8bbwe!App"},{"desktopAppLink":"%APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\File Explorer.lnk"},{"packagedAppId":"Microsoft.WindowsCalculator_8wekyb3d8bbwe!App"}]}'} # === Choose which folders appear on Start - # ------> "_ProviderSet"=dword:00000000 == Allows User Toggle - # ------> "_ProviderSet"=dword:00000001 == Blocks User Toggle - # ------> "AllowPinnedFolderXXXXXXXXXXXX"=dword:00000001 == Show - # ------> "AllowPinnedFolderXXXXXXXXXXXX"=dword:00000000 == Hide + # ------> "_ProviderSet"=dword:00000000 == Allows User Toggle + # ------> "_ProviderSet"=dword:00000001 == Blocks User Toggle + # ------> "AllowPinnedFolderXXXXXXXXXXXX"=dword:00000001 == Show + # ------> "AllowPinnedFolderXXXXXXXXXXXX"=dword:00000000 == Hide - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start', value: 'AllowPinnedFolderDocuments', type: REG_DWORD, data: '0'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start', value: 'AllowPinnedFolderDocuments_ProviderSet', type: REG_DWORD, data: '0'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Start', value: 'AllowPinnedFolderDownloads', type: REG_DWORD, data: '0'} diff --git a/src/Configuration/Tasks/registry/explorer/taskbar.yml b/src/Configuration/Tasks/registry/explorer/taskbar.yml index e714e401..099d46e6 100644 --- a/src/Configuration/Tasks/registry/explorer/taskbar.yml +++ b/src/Configuration/Tasks/registry/explorer/taskbar.yml @@ -19,7 +19,7 @@ actions: - !registryValue: {path: 'HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Feeds', value: 'ShellFeedsTaskbarViewMode', type: REG_DWORD, data: '2', errorAction: Ignore} - !registryValue: {path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', value: 'TaskbarDa', type: REG_DWORD, data: '0', errorAction: Ignore} - !registryValue: {path: 'HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', value: 'TaskbarDa', type: REG_DWORD, data: '0', errorAction: Ignore} - + # ------> since 22621.1343 builds, Windows 11 tries to reinstall WebExperience even if it is removed and stored in deprovisioned apps list - !registryValue: {path: 'HKLM\SOFTWARE\Policies\Microsoft\Dsh', value: 'AllowNewsAndInterests', type: REG_DWORD, data: '0'} diff --git a/src/Configuration/Tasks/registry/explorer/view.yml b/src/Configuration/Tasks/registry/explorer/view.yml index 7c024919..00a0ba4d 100644 --- a/src/Configuration/Tasks/registry/explorer/view.yml +++ b/src/Configuration/Tasks/registry/explorer/view.yml @@ -1,5 +1,5 @@ --- -title: Configure Explorer View +title: Configure Explorer View description: Configure Explorer View privilege: TrustedInstaller actions: @@ -10,7 +10,7 @@ actions: # === Display the full path in title bar - Enabled - !registryValue: {path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState', value: 'FullPath', type: REG_DWORD, data: '1'} - !registryValue: {path: 'HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState', value: 'FullPath', type: REG_DWORD, data: '1'} - + # === Hide extensions for known file types - Disabled # ------> Disabled for Security reasons - !registryValue: {path: 'HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced', value: 'HideFileExt', type: REG_DWORD, data: '0'} diff --git a/src/Configuration/Tasks/registry/explorer/win-settings.yml b/src/Configuration/Tasks/registry/explorer/win-settings.yml index 65694340..065d714e 100644 --- a/src/Configuration/Tasks/registry/explorer/win-settings.yml +++ b/src/Configuration/Tasks/registry/explorer/win-settings.yml @@ -275,7 +275,7 @@ actions: # ------> Found in 22631.3527 - !registryValue: {path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\SystemSettings\AccountNotifications', value: 'EnableAccountNotifications', type: REG_DWORD, data: '1', weight: 50} - !registryValue: {path: 'HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\SystemSettings\AccountNotifications', value: 'EnableAccountNotifications', type: REG_DWORD, data: '1', weight: 50} - + # ======> Speech # === Online speech recognition - Off @@ -345,7 +345,7 @@ actions: # === Location - Off - !registryValue: {path: 'HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location', value: 'Value', type: REG_SZ, data: 'Deny'} - !registryValue: {path: 'HKU\.DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location', value: 'Value', type: REG_SZ, data: 'Deny'} - + # REMINDER # [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location] # "Value"="Deny" @@ -444,13 +444,13 @@ actions: - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WcmSvc\wifinetworkmanager\config', value: 'AutoConnectAllowedOEM', type: REG_DWORD, data: '0'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WcmSvc\wifinetworkmanager\features', value: 'PaidWifi', type: REG_DWORD, data: '0'} - + - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WcmSvc\wifinetworkmanager\features', value: 'WiFiSenseOpen', type: REG_DWORD, data: '0'} # === Disable Wi-Fi Sense telemetry - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting', value: 'value', type: REG_DWORD, data: '0'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\PolicyManager\default\WiFi\AllowAutoConnectToWiFiSenseHotspots', value: 'value', type: REG_DWORD, data: '0'} - + # ============= # === Extra === @@ -459,7 +459,7 @@ actions: # === Disable ValueBanners in Windows 11 Settings (Requires TrustedInstaller permissions) # ------> Credits to @he3als for finding more reliable method. - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WindowsRuntime\ActivatableClassId\ValueBanner.IdealStateFeatureControlProvider', value: 'ActivationType', type: REG_DWORD, data: '0'} - + # === Disable Recall snapshots (24H2) - !registryValue: {path: 'HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsAI', value: 'DisableAIDataAnalysis', type: REG_DWORD, data: '1'} diff --git a/src/Configuration/Tasks/registry/misc/deprovisioned-apps.yml b/src/Configuration/Tasks/registry/misc/deprovisioned-apps.yml index 0f4cb8f5..24e5e372 100644 --- a/src/Configuration/Tasks/registry/misc/deprovisioned-apps.yml +++ b/src/Configuration/Tasks/registry/misc/deprovisioned-apps.yml @@ -6,7 +6,7 @@ actions: - !registryKey: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deprovisioned\Microsoft.549981C3F5F10_8wekyb3d8bbwe', operation: add} - !registryKey: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deprovisioned\Microsoft.549981C3F5F10_8wekyb3d8bbwe', operation: add} - + - !registryKey: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deprovisioned\Microsoft.BingNews_8wekyb3d8bbwe', operation: add} - !registryKey: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deprovisioned\Microsoft.BingWeather_8wekyb3d8bbwe', operation: add} - !registryKey: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deprovisioned\Microsoft.ECApp_8wekyb3d8bbwe', operation: add} @@ -46,7 +46,7 @@ actions: - !registryKey: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deprovisioned\Microsoft.SecHealthUI_8wekyb3d8bbwe', operation: add} - !registryKey: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deprovisioned\Microsoft.WindowsCalculator_8wekyb3d8bbwe', operation: add} - !registryKey: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deprovisioned\MicrosoftCorporationII.QuickAssist_8wekyb3d8bbwe', operation: add} - # === Surface Hub Apps / Team edition + # === Surface Hub Apps / Team edition - !registryKey: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deprovisioned\MicrosoftCorporationII.MicrosoftFamily_8wekyb3d8bbwe', operation: add} - !registryKey: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deprovisioned\Microsoft.Whiteboard_8wekyb3d8bbwe', operation: add} - !registryKey: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deprovisioned\microsoft.microsoftskydrive_8wekyb3d8bbwe', operation: add} diff --git a/src/Configuration/Tasks/registry/misc/disable-logging.yml b/src/Configuration/Tasks/registry/misc/disable-logging.yml index 1b21d971..47fed9db 100644 --- a/src/Configuration/Tasks/registry/misc/disable-logging.yml +++ b/src/Configuration/Tasks/registry/misc/disable-logging.yml @@ -7,7 +7,7 @@ actions: # === Disable Office logging on background when installed - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\ClickToRun\OverRide', value: 'DisableLogManagement', type: REG_DWORD, data: '1'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration', value: 'TimerInterval', type: REG_SZ, data: '900000'} - + # === Disable RSoP Logging (Group policy) # ------> It's enabled by default; disabling it might improve boot times and reduce disk io overhead - !registryValue: {path: 'HKLM\SOFTWARE\Policies\Microsoft\Windows\System', value: 'RSoPLogging', type: REG_DWORD, data: '0'} diff --git a/src/Configuration/Tasks/registry/misc/fixes.yml b/src/Configuration/Tasks/registry/misc/fixes.yml index 06a4f9cd..25d38205 100644 --- a/src/Configuration/Tasks/registry/misc/fixes.yml +++ b/src/Configuration/Tasks/registry/misc/fixes.yml @@ -39,7 +39,7 @@ actions: # === Enable ASLR mitigation for osu! - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osu!.exe', value: 'MitigationOptions', type: REG_BINARY, data: '000021000000000000000000000000000000000000000000'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osu!.exe', value: 'MitigationAuditOptions', type: REG_BINARY, data: '000000000000000000000000000000000000000000000000'} - - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osu!.exe', value: 'EAFModules', type: REG_SZ, data: ''} + - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\osu!.exe', value: 'EAFModules', type: REG_SZ, data: ''} # === ctfmon is needed to type something in search bar or WiFi password section, Snip & Sketch, etc. # ------> ctfmon depends on TabletInputService diff --git a/src/Configuration/Tasks/registry/privacy/cdm.yml b/src/Configuration/Tasks/registry/privacy/cdm.yml index adaf7f59..ee6ad491 100644 --- a/src/Configuration/Tasks/registry/privacy/cdm.yml +++ b/src/Configuration/Tasks/registry/privacy/cdm.yml @@ -73,6 +73,6 @@ actions: # === Disable Spotlight on Lock Screen - !registryValue: {path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager', value: 'RotatingLockScreenEnabled', type: REG_DWORD, data: '0'} - !registryValue: {path: 'HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager', value: 'RotatingLockScreenEnabled', type: REG_DWORD, data: '0'} - + - !registryValue: {path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager', value: 'RotatingLockScreenOverlayEnabled', type: REG_DWORD, data: '0'} - !registryValue: {path: 'HKU\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager', value: 'RotatingLockScreenOverlayEnabled', type: REG_DWORD, data: '0'} \ No newline at end of file diff --git a/src/Configuration/Tasks/registry/privacy/ceip.yml b/src/Configuration/Tasks/registry/privacy/ceip.yml index 0b08cbfa..db39fd1a 100644 --- a/src/Configuration/Tasks/registry/privacy/ceip.yml +++ b/src/Configuration/Tasks/registry/privacy/ceip.yml @@ -3,7 +3,7 @@ title: Configure Privacy -> Customer Experience Improvement Program (CEIP) description: Configure CEIP privilege: TrustedInstaller actions: - + # ------> https://admx.help/?Category=Windows_11_2022&Policy=Microsoft.Policies.InternetCommunicationManagement::CEIPEnable - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\SQMClient\Windows', value: 'CEIPEnable', type: REG_DWORD, data: '0'} @@ -19,4 +19,4 @@ actions: - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Messenger\Client', value: 'CEIP', type: REG_DWORD, data: '2'} # === Found in WinSxS - - !registryValue: {path: 'HKLM\Software\Microsoft\Windows NT\CurrentVersion\UnattendSettings\SQMClient', value: 'CEIPEnabled', type: REG_DWORD, data: '0'} + - !registryValue: {path: 'HKLM\Software\Microsoft\Windows NT\CurrentVersion\UnattendSettings\SQMClient', value: 'CEIPEnabled', type: REG_DWORD, data: '0'} \ No newline at end of file diff --git a/src/Configuration/Tasks/registry/privacy/privacy.yml b/src/Configuration/Tasks/registry/privacy/privacy.yml index 1258099e..2a53d31e 100644 --- a/src/Configuration/Tasks/registry/privacy/privacy.yml +++ b/src/Configuration/Tasks/registry/privacy/privacy.yml @@ -21,7 +21,7 @@ actions: # ------> Disables backup and restore of cellular text messages to Microsoft's cloud service # ------> https://admx.help/?Category=Windows_11_2022&Policy=Microsoft.Policies.Messaging::AllowMessageSync - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\Messaging', value: 'AllowMessageSync', type: REG_DWORD, data: '0'} - + # =============== # === Edge UI === @@ -85,7 +85,7 @@ actions: # === NVIDIA Telemetry - Disabled - !registryValue: {path: 'HKCU\Software\NVIDIA Corporation\NVControlPanel2\Client', value: 'OptInOrOutPreference', type: REG_DWORD, data: '0'} - + # [HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator] # "NoActiveProbe"=dword:00000001 # ---> Block CEIP, Telemetry Client and Windows Insider via Firewall @@ -104,4 +104,4 @@ actions: - !registryValue: {path: 'HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules', value: 'Block-Unified-Telemetry-Client', type: REG_SZ, data: 'v2.31|Action=Block|Active=TRUE|Dir=Out|RA42=IntErnet|RA62=IntErnet|App=%SystemRoot%\system32\svchost.exe|Svc=DiagTrack|Name=Block-Unified-Telemetry-Client|Desc=Block-Unified-Telemetry-Client|EmbedCtxt=DiagTrack|'} - !registryValue: {path: 'HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules', value: 'Block-Windows-Error-Reporting', type: REG_SZ, data: 'v2.31|Action=Block|Active=TRUE|Dir=Out|RA42=IntErnet|RA62=IntErnet|App=%SystemRoot%\system32\svchost.exe|Svc=WerSvc|Name=Block-Unified-Telemetry-Client|Desc=Block-Windows-Error-Reporting|EmbedCtxt=WerSvc|'} # Breaks Xbox - # - !registryValue: {path: 'HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules', value: 'Block-Windows-Insider', type: REG_SZ, data: 'v2.31|Action=Block|Active=TRUE|Dir=Out|RA42=IntErnet|RA62=IntErnet|App=%SystemRoot%\system32\svchost.exe|Svc=wisvc|Name=Block-Windows-Insider|Desc=Block-Windows-Insider|EmbedCtxt=wisvc|'} + # - !registryValue: {path: 'HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules', value: 'Block-Windows-Insider', type: REG_SZ, data: 'v2.31|Action=Block|Active=TRUE|Dir=Out|RA42=IntErnet|RA62=IntErnet|App=%SystemRoot%\system32\svchost.exe|Svc=wisvc|Name=Block-Windows-Insider|Desc=Block-Windows-Insider|EmbedCtxt=wisvc|'} \ No newline at end of file diff --git a/src/Configuration/Tasks/registry/privacy/telemetry.yml b/src/Configuration/Tasks/registry/privacy/telemetry.yml index 9c6967c0..d53ba95a 100644 --- a/src/Configuration/Tasks/registry/privacy/telemetry.yml +++ b/src/Configuration/Tasks/registry/privacy/telemetry.yml @@ -9,7 +9,7 @@ actions: - !registryValue: {path: 'HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection', value: 'AllowTelemetry', type: REG_DWORD, data: '0'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection', value: 'AllowTelemetry', type: REG_DWORD, data: '0'} - !registryValue: {path: 'HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Policies\DataCollection', value: 'AllowTelemetry', type: REG_DWORD, data: '0'} - + - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\PolicyManager\default\System\AllowTelemetry', value: 'value', type: REG_DWORD, data: '0'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\CPSS\DevicePolicy\AllowTelemetry', value: 'DefaultValue', type: REG_DWORD, data: '0'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\CPSS\Store\AllowTelemetry', value: 'Value', type: REG_DWORD, data: '0'} diff --git a/src/Configuration/Tasks/registry/security/security.yml b/src/Configuration/Tasks/registry/security/security.yml index eb0e0fa8..2594b33a 100644 --- a/src/Configuration/Tasks/registry/security/security.yml +++ b/src/Configuration/Tasks/registry/security/security.yml @@ -3,7 +3,7 @@ title: Configure Security description: Configure security settings privilege: TrustedInstaller actions: - + # === Hide the Account Protection page in Defender # ------> Everything it provides redirects to the Windows Settings anyway. Done for annoyance reduction. - !registryValue: {path: 'HKCU\Software\Microsoft\Windows Security Health\State', value: 'AccountProtection_MicrosoftAccount_Disconnected', type: REG_DWORD, data: '0'} @@ -30,7 +30,6 @@ actions: # === Allow security intelligence updates when running on battery power - Disabled - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows Defender\Signature Updates', value: 'DisableScheduledSignatureUpdateOnBattery', type: REG_DWORD, data: '1'} - # ==================================== # === Windows Defender SmartScreen === @@ -52,7 +51,6 @@ actions: # === Configure Windows Defender SmartScreen (Microsoft Edge) - Disabled - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\MicrosoftEdge\PhishingFilter', value: 'EnabledV9', type: REG_DWORD, data: '0'} - # ======================== # === Windows Security === # ======================== diff --git a/src/Configuration/Tasks/registry/system/ifeo.yml b/src/Configuration/Tasks/registry/system/ifeo.yml index 75f994f5..0a08cbb2 100644 --- a/src/Configuration/Tasks/registry/system/ifeo.yml +++ b/src/Configuration/Tasks/registry/system/ifeo.yml @@ -11,7 +11,7 @@ actions: # === Webcam Telemetry - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\DeviceCensus.exe', value: 'Debugger', type: REG_SZ, data: '%windir%\System32\taskkill.exe'} - # === Microsoft PC Manager spread + # === Microsoft PC Manager spread - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\FeatureLoader.exe', value: 'Debugger', type: REG_SZ, data: '%windir%\System32\taskkill.exe'} # === Bing pop-up ads @@ -20,14 +20,13 @@ actions: - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\BGAUpsell.exe', value: 'Debugger', type: REG_SZ, data: '%windir%\System32\taskkill.exe'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\BCILauncher.exe', value: 'Debugger', type: REG_SZ, data: '%windir%\System32\taskkill.exe'} - - # === Change CPU priority to Below Normal - # 1 Idle - # 2 Normal - # 3 High - # 4 RealTime (n.a.) - # 5 Below Normal - # 6 Above Normal + # === Change CPU priority to Below Normal + # 1 Idle + # 2 Normal + # 3 High + # 4 RealTime (n.a.) + # 5 Below Normal + # 6 Above Normal - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\SearchIndexer.exe\PerfOptions', value: 'CpuPriorityClass', type: REG_DWORD, data: '5'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ctfmon.exe\PerfOptions', value: 'CpuPriorityClass', type: REG_DWORD, data: '5'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\fontdrvhost.exe\PerfOptions', value: 'CpuPriorityClass', type: REG_DWORD, data: '1'} @@ -36,4 +35,4 @@ actions: - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sihost.exe\PerfOptions', value: 'CpuPriorityClass', type: REG_DWORD, data: '1'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sihost.exe\PerfOptions', value: 'IoPriority', type: REG_DWORD, data: '0'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sppsvc.exe\PerfOptions', value: 'CpuPriorityClass', type: REG_DWORD, data: '1'} - - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sppsvc.exe\PerfOptions', value: 'IoPriority', type: REG_DWORD, data: '0'} + - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sppsvc.exe\PerfOptions', value: 'IoPriority', type: REG_DWORD, data: '0'} \ No newline at end of file diff --git a/src/Configuration/Tasks/registry/system/kernel.yml b/src/Configuration/Tasks/registry/system/kernel.yml index 501961c9..3810fecd 100644 --- a/src/Configuration/Tasks/registry/system/kernel.yml +++ b/src/Configuration/Tasks/registry/system/kernel.yml @@ -4,11 +4,11 @@ description: configure-kernel privilege: TrustedInstaller actions: - # === Enable TSX - # ------> It was disabled by default due to security reasons; Enabling it makes 4~5 times faster in database transaction and around 40% faster in specific workloads + # === Enable TSX + # ------> It was disabled by default due to security reasons; Enabling it makes 4~5 times faster in database transaction and around 40% faster in specific workloads # https://github.com/meetrevision/playbook/issues/100 # - !registryValue: {path: 'HKLM\SYSTEM\ControlSet001\Control\Session Manager\Kernel', value: 'DisableTsx', type: REG_DWORD, data: '0'} - - !powerShell: + - !powerShell: command: | if ((Get-CimInstance Win32_Processor).Manufacturer -eq 'GenuineIntel') { [microsoft.win32.registry]::SetValue('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Kernel', 'DisableTsx', 0, [Microsoft.Win32.RegistryValueKind]::DWord) diff --git a/src/Configuration/Tasks/registry/system/logon.yml b/src/Configuration/Tasks/registry/system/logon.yml index 679c5d4c..376fc2e9 100644 --- a/src/Configuration/Tasks/registry/system/logon.yml +++ b/src/Configuration/Tasks/registry/system/logon.yml @@ -11,13 +11,13 @@ actions: # ------> Outdated tweak # [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System] # "LogonType"=dword:00000001 - + # === Show first sign-in animation - Disabled - !registryValue: {path: 'HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System', value: 'EnableFirstLogonAnimation', type: REG_DWORD, data: '0'} - + # === Turn off Windows Startup sound - Enabled - !registryValue: {path: 'HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System', value: 'DisableStartupSound', type: REG_DWORD, data: '1'} - + # ======================================== # === Control Panel -> Personalization === # ======================================== @@ -25,11 +25,11 @@ actions: # ------> This won't skip the password/pin screen. # [HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Personalizaion] # "NoLockScreen"=dword:00000001 - + # ============================= # === Windows Logon Options === # ============================= - + # === Sign-in and lock last interactive user automatically after a restart - Disabled # ------> Prevents apps from automatically reopening after a restart or an update. - - !registryValue: {path: 'HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System', value: 'DisableAutomaticRestartSignOn', type: REG_DWORD, data: '1'} + - !registryValue: {path: 'HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System', value: 'DisableAutomaticRestartSignOn', type: REG_DWORD, data: '1'} \ No newline at end of file diff --git a/src/Configuration/Tasks/registry/system/multimedia.yml b/src/Configuration/Tasks/registry/system/multimedia.yml index fd9dc133..0e6d4d4f 100644 --- a/src/Configuration/Tasks/registry/system/multimedia.yml +++ b/src/Configuration/Tasks/registry/system/multimedia.yml @@ -6,4 +6,4 @@ actions: # === NetworkThrottlingIndex - 10 (default) # -----> https://github.com/djdallmann/GamingPCSetup/blob/master/CONTENT/RESEARCH/NETWORK/README.md#networkthrottlingindex - - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile', value: 'NetworkThrottlingIndex', type: REG_DWORD, data: '10'} + - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile', value: 'NetworkThrottlingIndex', type: REG_DWORD, data: '10'} \ No newline at end of file diff --git a/src/Configuration/Tasks/registry/system/power.yml b/src/Configuration/Tasks/registry/system/power.yml index ccc9be65..bffab559 100644 --- a/src/Configuration/Tasks/registry/system/power.yml +++ b/src/Configuration/Tasks/registry/system/power.yml @@ -29,4 +29,4 @@ actions: # === Hibernation - Disabled # ------> https://www.tenforums.com/tutorials/2859-enable-disable-hibernate-windows-10-a.html - - !registryValue: {path: 'HKLM\SYSTEM\ControlSet001\Control\Power', value: 'HibernateEnabled', type: REG_DWORD, data: '0'} + - !registryValue: {path: 'HKLM\SYSTEM\ControlSet001\Control\Power', value: 'HibernateEnabled', type: REG_DWORD, data: '0'} \ No newline at end of file diff --git a/src/Configuration/Tasks/registry/system/win32ps.yml b/src/Configuration/Tasks/registry/system/win32ps.yml index d9affb31..b4240034 100644 --- a/src/Configuration/Tasks/registry/system/win32ps.yml +++ b/src/Configuration/Tasks/registry/system/win32ps.yml @@ -4,7 +4,7 @@ description: Configure Win32PrioritySeparation privilege: TrustedInstaller actions: - # --- Quantum is the amount of time the Windows process scheduler allocates to a thread. There are two recommended values: - # -----> 26/38 - Short Quantum, variable, 3x foreground boost - # -----> 16/22 - Long Quantum, variable, 3x foreground boost - - !registryValue: {path: 'HKLM\SYSTEM\ControlSet001\Control\PriorityControl', value: 'Win32PrioritySeparation', type: REG_DWORD, data: '38'} + # --- Quantum is the amount of time the Windows process scheduler allocates to a thread. There are two recommended values: + # -----> 26/38 - Short Quantum, variable, 3x foreground boost + # -----> 16/22 - Long Quantum, variable, 3x foreground boost + - !registryValue: {path: 'HKLM\SYSTEM\ControlSet001\Control\PriorityControl', value: 'Win32PrioritySeparation', type: REG_DWORD, data: '38'} \ No newline at end of file diff --git a/src/Configuration/Tasks/registry/updates/drivers.yml b/src/Configuration/Tasks/registry/updates/drivers.yml index ea904d8c..885ae18a 100644 --- a/src/Configuration/Tasks/registry/updates/drivers.yml +++ b/src/Configuration/Tasks/registry/updates/drivers.yml @@ -7,7 +7,7 @@ actions: # === Turn off Windows Update device driver searching - Enabled - !registryValue: {path: 'HKLM\SOFTWARE\Policies\Microsoft\Windows\DriverSearching', value: 'DontSearchWindowsUpdate', type: REG_DWORD, data: '1'} - !registryValue: {path: 'HKLM\SOFTWARE\Policies\Microsoft\Windows\DriverSearching', value: 'DriverUpdateWizardWuSearchEnabled', type: REG_DWORD, data: '0'} - + - !registryValue: {path: 'HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate', value: 'ExcludeWUDriversInQualityUpdate', type: REG_DWORD, data: '1'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings', value: 'ExcludeWUDriversInQualityUpdate', type: REG_DWORD, data: '1'} @@ -17,9 +17,9 @@ actions: - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\DriverSearching', value: 'DontPromptForWindowsUpdate', type: REG_DWORD, data: '1'} # === Prevent device metadata retrieval from the Internet - Enabled - # ------> https://admx.help/?Category=Windows_11_2022&Policy=Microsoft.Policies.DeviceSoftwareSetup::DeviceMetadata_PreventDeviceMetadataFromNetwork + # ------> https://admx.help/?Category=Windows_11_2022&Policy=Microsoft.Policies.DeviceSoftwareSetup::DeviceMetadata_PreventDeviceMetadataFromNetwork - !registryValue: {path: 'HKLM\SOFTWARE\Policies\Microsoft\Windows\Device Metadata', value: 'PreventDeviceMetadataFromNetwork', type: REG_DWORD, data: '1'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata', value: 'PreventDeviceMetadataFromNetwork', type: REG_DWORD, data: '1'} - + # === Specify search order for device driver source locations - Do not search Windows Update - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\DriverSearching', value: 'SearchOrderConfig', type: REG_DWORD, data: '0'} \ No newline at end of file diff --git a/src/Configuration/Tasks/registry/updates/ms-store.yml b/src/Configuration/Tasks/registry/updates/ms-store.yml index 3cf9a485..75248e95 100644 --- a/src/Configuration/Tasks/registry/updates/ms-store.yml +++ b/src/Configuration/Tasks/registry/updates/ms-store.yml @@ -7,6 +7,6 @@ actions: # === Turn off Automatic Download and Install of updates - Disabled # ------> https://admx.help/?Category=Windows_11_2022&Policy=Microsoft.Policies.WindowsStore::DisableAutoInstall - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\WindowsStore', value: 'AutoDownload', type: REG_DWORD, data: '4'} - + # === Turn off the offer to update to the latest version of Windows - Enabled - - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\WindowsStore', value: 'DisableOSUpgrade', type: REG_DWORD, data: '1'} + - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\WindowsStore', value: 'DisableOSUpgrade', type: REG_DWORD, data: '1'} \ No newline at end of file diff --git a/src/Configuration/Tasks/registry/updates/updates.yml b/src/Configuration/Tasks/registry/updates/updates.yml index bd813b09..a55de002 100644 --- a/src/Configuration/Tasks/registry/updates/updates.yml +++ b/src/Configuration/Tasks/registry/updates/updates.yml @@ -14,8 +14,8 @@ actions: # ------> NOTE: Used to break Xbox Sign-in in older Windows 10 versions # - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU', value: 'NoAutoUpdate', type: REG_DWORD, data: '1'} - # === Pause Windows Updates to 2038 January 19 - # === FlightSettingsMaxPauseDays is responsible for the rest regs to work + # === Pause Windows Updates to 2038 January 19 + # === FlightSettingsMaxPauseDays is responsible for the rest regs to work - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings', value: 'FlightSettingsMaxPauseDays', type: REG_DWORD, data: '5269'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings', value: 'PauseFeatureUpdatesStartTime', type: REG_SZ, data: '2023-08-17T12:47:51Z'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings', value: 'PauseFeatureUpdatesEndTime', type: REG_SZ, data: '2038-01-19T03:14:07Z'} @@ -23,11 +23,10 @@ actions: - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings', value: 'PauseQualityUpdatesEndTime', type: REG_SZ, data: '2038-01-19T03:14:07Z'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings', value: 'PauseUpdatesStartTime', type: REG_SZ, data: '2023-08-17T12:47:51Z'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings', value: 'PauseUpdatesExpiryTime', type: REG_SZ, data: '2038-01-19T03:14:07Z'} - # # === Do not allow update deferral policies to cause scans against Windows Update - Enabled - # - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate', value: 'DisableDualScan', type: REG_DWORD, data: '1'} - + # - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate', value: 'DisableDualScan', type: REG_DWORD, data: '1'} + # # === Do not include drivers with Windows Updates - Enabled # - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate', value: 'ExcludeWUDriversInQualityUpdate', type: REG_DWORD, data: '1'} # # === Enabling Windows Update Power Management to automatically wake up the system to install scheduled updates - Disabled @@ -64,14 +63,14 @@ actions: # - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate', value: 'DeferQualityUpdates', type: REG_DWORD, data: '1'} # # === After a quality update is released, defer receiving it for this many days - Enabled # - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate', value: 'DeferQualityUpdatesPeriodInDays', type: REG_DWORD, data: '4'} - + # ========================================= # === Malicious Software Reporting Tool === # ========================================= # === Prevent Malicious Software Removal Tool from installing - Enabled # ------> https://winaero.com/blog/disable-malicious-software-removal-tool/ # - !registryValue: {path: 'HKLM\SOFTWARE\Policies\Microsoft\MRT', value: 'DontOfferThroughWUAU', type: REG_DWORD, data: '1'} - + # === Disable Malicious Software Reporting tool diagnostic data - Enabled # ------> https://admx.help/?Category=Windows10_Telemetry&Policy=Microsoft.Policies.Win10Privacy::DontReportInfection - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\MRT', value: 'DontReportInfectionInformation', type: REG_DWORD, data: '0'} @@ -91,8 +90,6 @@ actions: # === Windows Insider Program - Disabled # ------> For Version 1703 and below. - !registryValue: {path: 'HKLM\SOFTWARE\Policies\Microsoft\Windows\PreviewBuilds', value: 'AllowBuildPreview', type: REG_DWORD, data: '0'} - - # ============= # === Extra === @@ -112,7 +109,7 @@ actions: # ------> https://admx.help/?Category=Windows_11_2022&Policy=Microsoft.Policies.MediaPlayer::DisableAutoUpdate - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\WindowsMediaPlayer', value: 'DisableAutoUpdate', type: REG_DWORD, data: '0'} - # --- Prevent Windows Update Orchestrator automatically installing unwanted updates: + # --- Prevent Windows Update Orchestrator automatically installing unwanted updates: # ------> DevHome, Outlook - !registryKey: {path: 'HKLM\SOFTWARE\Microsoft\WindowsUpdate\Orchestrator\UScheduler_Oobe\DevHomeUpdate', operation: 'delete'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Orchestrator\UScheduler\DevHomeUpdate', value: 'workCompleted', type: REG_DWORD, data: '1'} @@ -125,8 +122,6 @@ actions: - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings', value: 'HideMCTLink', type: REG_DWORD, data: '1'} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings', value: 'RestartNotificationsAllowed2', type: REG_DWORD, data: '0'} - - # ======================== # === Discarded Tweaks === @@ -146,7 +141,7 @@ actions: # === Allow Automatic Updates immediate installation - Disabled (Not supported anymore) # - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU', value: 'AutoInstallMinorUpdates', type: REG_DWORD, data: '0'} - + # === Do not adjust default option to 'Install Updates and Shut Down' in Shut Down Windows dialog box - Enabled (Not supported anymore) # - !registryValue: {path: 'HKCU\Software\Policies\Microsoft\Windows\WindowsUpdate\AU', value: 'NoAUAsDefaultShutdownOption', type: REG_DWORD, data: '1'} # - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU', value: 'NoAUAsDefaultShutdownOption', type: REG_DWORD, data: '1'} @@ -156,4 +151,4 @@ actions: # === No auto-restart with logged on users for scheduled automatic updates installations - Enabled # - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU', value: 'NoAutoRebootWithLoggedOnUsers', type: REG_DWORD, data: '1'} # === Turn on Software Notifications - Disabled - # - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU', value: 'EnableFeaturedSoftware', type: REG_DWORD, data: '0'} + # - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU', value: 'EnableFeaturedSoftware', type: REG_DWORD, data: '0'} \ No newline at end of file diff --git a/src/Configuration/Tasks/revert.yml b/src/Configuration/Tasks/revert.yml index f1d43b5e..f0da3403 100644 --- a/src/Configuration/Tasks/revert.yml +++ b/src/Configuration/Tasks/revert.yml @@ -16,7 +16,7 @@ actions: - !registryValue: { path: 'HKLM\SOFTWARE\Policies\Microsoft\Internet Explorer\Download', value: 'CheckExeSignatures', operation: delete } - !registryValue: { path: 'HKCU\SOFTWARE\Policies\Microsoft\Internet Explorer\Privacy', value: 'ClearBrowsingHistoryOnExit', operation: delete } - !registryValue: { path: 'HKLM\SOFTWARE\Policies\Microsoft\Internet Explorer\Privacy', value: 'ClearBrowsingHistoryOnExit', operation: delete } - + # https://github.com/meetrevision/playbook/issues/27 - !run: {exe: 'netsh', args: 'int tcp set supplemental internet congestionprovider=default', showOutput: false, showError: false} @@ -37,7 +37,7 @@ actions: - !registryValue: {path: 'HKCU\Software\Microsoft\Windows\CurrentVersion\GameDVR', value: 'AppCaptureEnabled', operation: delete, option: '!remove-appx-xbox'} # Revert services - - !service: {name: 'Beep', operation: change, startup: 1} + - !service: {name: 'Beep', operation: change, startup: 1} - !service: {name: 'GraphicsPerfSvc', operation: change, startup: 3} - !service: {name: 'Ndu', operation: change, startup: 2} @@ -49,13 +49,13 @@ actions: data: '1' # Revert mitigation tweaks - - !registryKey: + - !registryKey: path: 'HKCU\SOFTWARE\Policies\Microsoft\Windows NT\MitigationOptions\ProcessMitigationOptions' operation: delete - - !registryKey: + - !registryKey: path: 'HKLM\SOFTWARE\Policies\Microsoft\Windows NT\MitigationOptions\ProcessMitigationOptions' operation: delete - + - !registryValue: {path: 'HKLM\SYSTEM\ControlSet001\Control\Session Manager\Memory Management', value: 'FeatureSettings', operation: delete} - !registryValue: {path: 'HKLM\SYSTEM\ControlSet001\Control\Session Manager\Memory Management', value: 'FeatureSettingsOverride', operation: delete} - !registryValue: {path: 'HKLM\SYSTEM\ControlSet001\Control\Session Manager\Memory Management', value: 'FeatureSettingsOverrideMask', operation: delete} @@ -71,7 +71,7 @@ actions: - !registryKey: {path: 'HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate', operation: delete} - !registryValue: {path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Servicing', value: 'RepairContentServerSource', operation: delete} - + # Breaks 'defrag c: -b' - !powerShell: command: | @@ -97,7 +97,7 @@ actions: # Revert Windows Defender Antivirus - Security Intelligence Updates policies - !registryKey: {path: 'HKLM\Software\Policies\Microsoft\Windows Defender\Signature Updates', operation: delete} - + - !registryValue: {path: 'HKLM\Software\Policies\Microsoft\Windows Defender\Signature Updates', value: 'DisableScheduledSignatureUpdateOnBattery', type: REG_DWORD, data: '1'} # Default Auto Tray behavior @@ -120,8 +120,4 @@ actions: - !registryKey: {path: 'HKLM\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings', operation: delete} - !registryKey: {path: 'HKCU\Software\Policies\Microsoft\Internet Explorer', operation: delete} - - !registryKey: {path: 'HKLM\Software\Policies\Microsoft\Internet Explorer', operation: delete} - - - - \ No newline at end of file + - !registryKey: {path: 'HKLM\Software\Policies\Microsoft\Internet Explorer', operation: delete} \ No newline at end of file diff --git a/src/Configuration/Tasks/services.yml b/src/Configuration/Tasks/services.yml index 33b9d661..1d27a849 100644 --- a/src/Configuration/Tasks/services.yml +++ b/src/Configuration/Tasks/services.yml @@ -3,7 +3,7 @@ title: Services description: Removal and configuration of services privilege: TrustedInstaller actions: - + - !writeStatus: {status: "Configuring services"} # === Beep - Disabled @@ -55,16 +55,16 @@ actions: # === Diagnostic System Host - Disabled - !service: {name: 'WdiSystemHost', operation: change, startup: 4} - + #===== Tcpipreg (experimental) - !service: {name: 'tcpipreg', operation: change, startup: 4} - # === EdgeUpdate - Manual + # === EdgeUpdate - Manual # ------> Disabling it breaks WebView installation via Visual Studio) - !service: {name: 'edgeupdate', operation: change, startup: 3} # == Windows Event Collector - Disabled - - !service: {name: 'Wecsvc', operation: change, startup: 4} + - !service: {name: 'Wecsvc', operation: change, startup: 4} # == UCPD velocity - Disabled - !service: {name: 'UCPD', operation: change, startup: 4} diff --git a/src/Configuration/Tasks/software.yml b/src/Configuration/Tasks/software.yml index f40570ea..4862f1fb 100644 --- a/src/Configuration/Tasks/software.yml +++ b/src/Configuration/Tasks/software.yml @@ -1,6 +1,6 @@ --- title: Software -description: Installs preferred software +description: Installs preferred software privilege: TrustedInstaller actions: @@ -14,7 +14,7 @@ actions: command: '.\UPDATE-APPX.ps1' - !writeStatus: {status: 'Installing Brave on reboot', option: "browser-brave"} - - !registryValue: + - !registryValue: path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce' value: 'Install Brave' type: REG_SZ @@ -31,7 +31,7 @@ actions: # Firefox - !writeStatus: {status: 'Installing Firefox on reboot', option: "browser-firefox"} - - !registryValue: + - !registryValue: path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce' value: 'Install Firefox' type: REG_SZ diff --git a/src/Configuration/Tasks/start.yml b/src/Configuration/Tasks/start.yml index 6992e388..7234ad9e 100644 --- a/src/Configuration/Tasks/start.yml +++ b/src/Configuration/Tasks/start.yml @@ -3,7 +3,7 @@ title: Initialization description: Copies Revision folders/files, and configures some initial settings privilege: TrustedInstaller actions: - + - !writeStatus: {status: "Initializing"} # Prevent annoying notifications during deployment @@ -18,7 +18,7 @@ actions: command: 'robocopy "Licenses" "%SystemDrive%\Licenses" /E /PURGE /IM /IT /NP' ignoreErrors: true weight: 30 - + - !cmd: exeDir: true command: 'copy /y "hosts" "%WINDIR%\System32\drivers\etc\hosts"' @@ -28,7 +28,7 @@ actions: - !cmd: command: 'ipconfig /flushdns' - # Wakelock modification isn't available in AME Wizard, therefore activating a custom high performance powerplan before we proceed to prevent sleep + # Wakelock modification isn't available in AME Wizard, therefore activating a custom high performance powerplan before we proceed to prevent sleep - !writeStatus: {status: "Configuring a power plan"} - !run: {exe: "powercfg", args: "/hibernate off"} # https://github.com/meetrevision/playbook/issues/105 diff --git a/src/Configuration/main.yml b/src/Configuration/main.yml index 3aeb9fc0..699cdec7 100644 --- a/src/Configuration/main.yml +++ b/src/Configuration/main.yml @@ -3,19 +3,18 @@ title: Custom description: Custom Revision configuration privilege: Admin actions: - + # OS Info - !task: {path: 'Tasks\registry\os-info\edition.yml'} - !task: {path: 'Tasks\registry\os-info\oem-info.yml'} - !task: {path: 'Tasks\start.yml'} - + - !task: {path: 'Tasks\packages\app-win32.yml'} # Uninstalling WinSxS packages before app-win32 could leave leftovers - !task: {path: 'Tasks\packages\win-sxs.yml'} - !task: {path: 'Tasks\packages\appx.yml'} - # Defender requires explorer to be running to disable certain protections, so that's why Explorer is terminated afterward - !taskKill: {name: "explorer", errorAction: Ignore} - !taskKill: {name: "SearchApp", errorAction: Ignore} @@ -28,7 +27,7 @@ actions: - !task: {path: 'Tasks\software.yml'} - !task: {path: 'Tasks\services.yml'} - + - !task: {path: 'Tasks\registry.yml'} - !task: {path: 'Tasks\revert.yml'} - !task: {path: 'Tasks\final.yml'} \ No newline at end of file diff --git a/src/Executables/APPX-REMOVER.ps1 b/src/Executables/APPX-REMOVER.ps1 index b51bad8c..7ce12672 100644 --- a/src/Executables/APPX-REMOVER.ps1 +++ b/src/Executables/APPX-REMOVER.ps1 @@ -27,7 +27,7 @@ foreach ($package in $Packages) { if (Test-Path $inboxAppsPath) { Remove-Item -Path $inboxAppsPath -Force } - + if ($pkg.NonRemovable -eq 1) { Set-NonRemovableAppsPolicy -Online -PackageFamilyName $packageFamilyName -NonRemovable 0 } @@ -38,7 +38,7 @@ foreach ($package in $Packages) { $endOfLifePath = "$baseRegistryPath\EndOfLife\$userSid\$fullPackageName" New-Item -Path $endOfLifePath -Force - # Errors may occur if the package is not added to the EndOfLife registry key for every user who has it installed + # Errors may occur if the package is not added to the EndOfLife registry key for every user who has it installed Remove-AppxPackage -Package $fullPackageName -User $userSid } diff --git a/src/Executables/CLEANER.ps1 b/src/Executables/CLEANER.ps1 index d571e828..c472273c 100644 --- a/src/Executables/CLEANER.ps1 +++ b/src/Executables/CLEANER.ps1 @@ -1,99 +1,98 @@ -$ErrorActionPreference = 'SilentlyContinue' - -Write-Host "Using Disk Cleanup with custom configuration" -$volumeCache = @{ - "Active Setup Temp Folders" = 2 - "BranchCache" = 2 - "Delivery Optimization Files" = 2 - "Device Driver Packages" = 2 - # "Diagnostic Data Viewer database files" = 2 - "Downloaded Program Files" = 2 - "Internet Cache Files" = 2 - "Language Pack" = 2 - "Offline Pages Files" = 2 - "Old ChkDsk Files" = 2 - # "RetailDemo Offline Content" = 2 - "Setup Log Files" = 2 - "System error memory dump files" = 2 - "System error minidump files" = 2 - "Temporary Setup Files" = 2 - "Temporary Sync Files" = 2 - "Update Cleanup" = 2 - "Upgrade Discarded Files" = 2 - "User file versions" = 2 - "Windows Defender" = 2 - "Windows Error Reporting Files" = 2 - "Windows Reset Log Files" = 2 - "Windows Upgrade Log Files" = 2 -} - -$registryPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches" - -foreach ($item in $volumeCache.GetEnumerator()) { - $keyPath = Join-Path $registryPath $item.Key - if (Test-Path $keyPath) { - - New-ItemProperty -Path $keyPath -Name StateFlags1337 -Value $item.Value -PropertyType DWord | Out-Null - } -} - -Start-Process -FilePath "$env:SystemRoot\system32\cleanmgr.exe" -ArgumentList "/sagerun:1337" -Wait:$false - -Write-Host "Cleaning up Event Logs" -Get-EventLog -LogName * | ForEach-Object { Clear-EventLog $_.Log } - -Write-Host "Disabling Reserved Storage" -Set-WindowsReservedStorageState -State Disabled - -Stop-Service -Name "bits" -Force | Out-Null -Stop-Service -Name "appidsvc" -Force | Out-Null -Stop-Service -Name "dps" -Force | Out-Null -Stop-Service -Name "wuauserv" -Force | Out-Null -Stop-Service -Name "cryptsvc" -Force | Out-Null - -Write-Host "Cleaning up leftovers" -$foldersToRemove = @( - "CbsTemp", - "Logs", - "SoftwareDistribution", - "System32\LogFiles", - "System32\LogFiles\WMI," - "System32\SleepStudy", - "System32\sru", - "System32\WDI\LogFiles", - "System32\winevt\Logs", - "SystemTemp", - "Temp" - - # "WinSxS\Backup" - # "Panther", - # "Prefetch" -) - -foreach ($folderName in $foldersToRemove) { - $folderPath = Join-Path $env:SystemRoot $folderName - if (Test-Path $folderPath) { - Remove-Item -Path "$folderPath\*" -Force -Recurse | Out-Null - } -} - -# Remove-Item -Path "C:\Program Files\WindowsApps\MicrosoftWindows.Client.WebExperience*" -Recurse -Force - -Get-ChildItem -Path "$env:SystemRoot" -Filter *.log -File -Recurse -Force | Remove-Item -Recurse -Force | Out-Null - -Write-Host "Cleaning up %TEMP%" -Get-ChildItem -Path "$env:TEMP" -Exclude "AME" | Remove-Item -Recurse -Force - -# Just in case -Start-ScheduledTask -TaskPath "\Microsoft\Windows\DiskCleanup\" -TaskName "SilentCleanup" - -# Write-Host "Cleaning up Retail Demo Content" -# Start-ScheduledTask -TaskPath "\Microsoft\Windows\RetailDemo\" -TaskName "CleanupOfflineContent" - -# Write-Host "Cleaning up the WinSxS Components" -# DISM /Online /Cleanup-Image /StartComponentCleanup - -$edgeUpdatePath = ${env:ProgramFiles(x86)} + "\Microsoft\EdgeUpdate\Download" -if (Test-Path -Path $edgeUpdatePath) { - Remove-Item -Path $edgeUpdatePath -Force -Recurse | Out-Null +$ErrorActionPreference = 'SilentlyContinue' + +Write-Host "Using Disk Cleanup with custom configuration" +$volumeCache = @{ + "Active Setup Temp Folders" = 2 + "BranchCache" = 2 + "Delivery Optimization Files" = 2 + "Device Driver Packages" = 2 + # "Diagnostic Data Viewer database files" = 2 + "Downloaded Program Files" = 2 + "Internet Cache Files" = 2 + "Language Pack" = 2 + "Offline Pages Files" = 2 + "Old ChkDsk Files" = 2 + # "RetailDemo Offline Content" = 2 + "Setup Log Files" = 2 + "System error memory dump files" = 2 + "System error minidump files" = 2 + "Temporary Setup Files" = 2 + "Temporary Sync Files" = 2 + "Update Cleanup" = 2 + "Upgrade Discarded Files" = 2 + "User file versions" = 2 + "Windows Defender" = 2 + "Windows Error Reporting Files" = 2 + "Windows Reset Log Files" = 2 + "Windows Upgrade Log Files" = 2 +} + +$registryPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches" + +foreach ($item in $volumeCache.GetEnumerator()) { + $keyPath = Join-Path $registryPath $item.Key + if (Test-Path $keyPath) { + New-ItemProperty -Path $keyPath -Name StateFlags1337 -Value $item.Value -PropertyType DWord | Out-Null + } +} + +Start-Process -FilePath "$env:SystemRoot\system32\cleanmgr.exe" -ArgumentList "/sagerun:1337" -Wait:$false + +Write-Host "Cleaning up Event Logs" +Get-EventLog -LogName * | ForEach-Object { Clear-EventLog $_.Log } + +Write-Host "Disabling Reserved Storage" +Set-WindowsReservedStorageState -State Disabled + +Stop-Service -Name "bits" -Force | Out-Null +Stop-Service -Name "appidsvc" -Force | Out-Null +Stop-Service -Name "dps" -Force | Out-Null +Stop-Service -Name "wuauserv" -Force | Out-Null +Stop-Service -Name "cryptsvc" -Force | Out-Null + +Write-Host "Cleaning up leftovers" +$foldersToRemove = @( + "CbsTemp", + "Logs", + "SoftwareDistribution", + "System32\LogFiles", + "System32\LogFiles\WMI," + "System32\SleepStudy", + "System32\sru", + "System32\WDI\LogFiles", + "System32\winevt\Logs", + "SystemTemp", + "Temp" + + # "WinSxS\Backup" + # "Panther", + # "Prefetch" +) + +foreach ($folderName in $foldersToRemove) { + $folderPath = Join-Path $env:SystemRoot $folderName + if (Test-Path $folderPath) { + Remove-Item -Path "$folderPath\*" -Force -Recurse | Out-Null + } +} + +# Remove-Item -Path "C:\Program Files\WindowsApps\MicrosoftWindows.Client.WebExperience*" -Recurse -Force + +Get-ChildItem -Path "$env:SystemRoot" -Filter *.log -File -Recurse -Force | Remove-Item -Recurse -Force | Out-Null + +Write-Host "Cleaning up %TEMP%" +Get-ChildItem -Path "$env:TEMP" -Exclude "AME" | Remove-Item -Recurse -Force + +# Just in case +Start-ScheduledTask -TaskPath "\Microsoft\Windows\DiskCleanup\" -TaskName "SilentCleanup" + +# Write-Host "Cleaning up Retail Demo Content" +# Start-ScheduledTask -TaskPath "\Microsoft\Windows\RetailDemo\" -TaskName "CleanupOfflineContent" + +# Write-Host "Cleaning up the WinSxS Components" +# DISM /Online /Cleanup-Image /StartComponentCleanup + +$edgeUpdatePath = ${env:ProgramFiles(x86)} + "\Microsoft\EdgeUpdate\Download" +if (Test-Path -Path $edgeUpdatePath) { + Remove-Item -Path $edgeUpdatePath -Force -Recurse | Out-Null } \ No newline at end of file diff --git a/src/Executables/DISM-FEATURES.ps1 b/src/Executables/DISM-FEATURES.ps1 index 15148b65..7909df2e 100644 --- a/src/Executables/DISM-FEATURES.ps1 +++ b/src/Executables/DISM-FEATURES.ps1 @@ -1,36 +1,35 @@ -function Update-Feature { - param( - [string]$featureName, - [bool]$bool - ) - - $regPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Notifications\OptionalFeatures" - $regKey = Get-ItemProperty -Path "$regPath\$featureName" -ErrorAction SilentlyContinue - - $dismCmd = if ($bool) { "Enable" } else { "Disable" } - - if ($null -eq $regKey -or ($regKey.Selection -eq 0 -and $bool) -or ($regKey.Selection -eq 1 -and !$bool)) { - Write-Host "$dismCmd $featureName" - if ($bool) { - Enable-WindowsOptionalFeature -Online -FeatureName $featureName -NoRestart -All - } else { - Disable-WindowsOptionalFeature -Online -FeatureName $featureName -NoRestart - } - } -} - - -$features = @( - @{ Name = "DirectPlay"; Bool = $true }, - @{ Name = "LegacyComponents"; Bool = $true }, - @{ Name = "MicrosoftWindowsPowerShellV2"; Bool = $false }, - @{ Name = "MicrosoftWindowsPowerShellV2Root"; Bool = $false }, - @{ Name = "MSRDC-Infrastructure"; Bool = $false }, - @{ Name = "Printing-Foundation-Features"; Bool = $false }, - @{ Name = "Printing-Foundation-InternetPrinting-Client"; Bool = $false }, - @{ Name = "WorkFolders-Client"; Bool = $false } - # @{ Name = "SmbDirect"; Bool = $false } -) -foreach ($feature in $features) { - Update-Feature -featureName $feature.Name -bool $feature.Bool +function Update-Feature { + param( + [string]$featureName, + [bool]$bool + ) + + $regPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Notifications\OptionalFeatures" + $regKey = Get-ItemProperty -Path "$regPath\$featureName" -ErrorAction SilentlyContinue + + $dismCmd = if ($bool) { "Enable" } else { "Disable" } + + if ($null -eq $regKey -or ($regKey.Selection -eq 0 -and $bool) -or ($regKey.Selection -eq 1 -and !$bool)) { + Write-Host "$dismCmd $featureName" + if ($bool) { + Enable-WindowsOptionalFeature -Online -FeatureName $featureName -NoRestart -All + } else { + Disable-WindowsOptionalFeature -Online -FeatureName $featureName -NoRestart + } + } +} + +$features = @( + @{ Name = "DirectPlay"; Bool = $true }, + @{ Name = "LegacyComponents"; Bool = $true }, + @{ Name = "MicrosoftWindowsPowerShellV2"; Bool = $false }, + @{ Name = "MicrosoftWindowsPowerShellV2Root"; Bool = $false }, + @{ Name = "MSRDC-Infrastructure"; Bool = $false }, + @{ Name = "Printing-Foundation-Features"; Bool = $false }, + @{ Name = "Printing-Foundation-InternetPrinting-Client"; Bool = $false }, + @{ Name = "WorkFolders-Client"; Bool = $false } + # @{ Name = "SmbDirect"; Bool = $false } +) +foreach ($feature in $features) { + Update-Feature -featureName $feature.Name -bool $feature.Bool } \ No newline at end of file diff --git a/src/Executables/EDGE.ps1 b/src/Executables/EDGE.ps1 index b7db74fe..0f5f9f10 100644 --- a/src/Executables/EDGE.ps1 +++ b/src/Executables/EDGE.ps1 @@ -1,4 +1,4 @@ -param ( +param ( [Parameter(Mandatory = $true)] [ValidateSet("EdgeBrowser", "WebView", "EdgeUpdate")] [string]$Mode @@ -14,7 +14,7 @@ function Uninstall-Process { # Set Nation to 84 (France) temporarily [microsoft.win32.registry]::SetValue('HKEY_USERS\.DEFAULT\Control Panel\International\Geo', 'Nation', 84, [Microsoft.Win32.RegistryValueKind]::String) | Out-Null - + $baseKey = 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate' $registryPath = $baseKey + '\ClientState\' + $Key @@ -70,11 +70,11 @@ function Uninstall-Process { function Uninstall-Edge { Remove-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Edge" -Name "NoRemove" -ErrorAction SilentlyContinue | Out-Null - + [microsoft.win32.registry]::SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdateDev", "AllowUninstall", 1, [Microsoft.Win32.RegistryValueKind]::DWord) | Out-Null Uninstall-Process -Key '{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}' - + @( "$env:ProgramData\Microsoft\Windows\Start Menu\Programs", "$env:PUBLIC\Desktop", "$env:USERPROFILE\Desktop" ) | ForEach-Object { @@ -83,13 +83,12 @@ function Uninstall-Edge { Remove-Item -Path $shortcutPath -Force } } - } function Uninstall-WebView { Remove-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft EdgeWebView" -Name "NoRemove" -ErrorAction SilentlyContinue | Out-Null - # Force to use system-wide WebView2 + # Force to use system-wide WebView2 # [microsoft.win32.registry]::SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\WebView2\BrowserExecutableFolder", "*", "%%SystemRoot%%\System32\Microsoft-Edge-WebView") Uninstall-Process -Key '{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}' diff --git a/src/Executables/FILEASSOC.cmd b/src/Executables/FILEASSOC.cmd index 2d372695..de82a84a 100644 --- a/src/Executables/FILEASSOC.cmd +++ b/src/Executables/FILEASSOC.cmd @@ -1,4 +1,3 @@ - @REM copy /y "Associations.dll" "%WINDIR%\System32\OEMDefaultAssociations.dll" copy /y "OEMDefaultAssociations.xml" "%WINDIR%\System32\OEMDefaultAssociations.xml" @@ -9,4 +8,4 @@ for /f "usebackq tokens=2 delims=\" %%A in (`reg query "HKEY_USERS" ^| findstr / if not errorlevel 1 ( PowerShell -NoP -ExecutionPolicy Bypass -File assoc.ps1 "Placeholder" "%%A" ".bmp:PhotoViewer.FileAssoc.Bitmap" ".dib:PhotoViewer.FileAssoc.Bitmap" ".jfif:PhotoViewer.FileAssoc.JFIF" ".jpe:PhotoViewer.FileAssoc.Jpeg" ".jpeg:PhotoViewer.FileAssoc.Jpeg" ".jpg:PhotoViewer.FileAssoc.Jpeg" ".jxr:PhotoViewer.FileAssoc.Wdp" ".png:PhotoViewer.FileAssoc.Png" ".tif:PhotoViewer.FileAssoc.Tiff" ".tiff:PhotoViewer.FileAssoc.Tiff" ".wdp:PhotoViewer.FileAssoc.Wdp" ) -) \ No newline at end of file +) diff --git a/src/Executables/FINALIZE.cmd b/src/Executables/FINALIZE.cmd index 0e9c73c0..7032b65f 100644 --- a/src/Executables/FINALIZE.cmd +++ b/src/Executables/FINALIZE.cmd @@ -21,12 +21,12 @@ rmdir /s /q "%ProgramFiles(x86)%\WindowsInstallationAssistant" >NUL 2>nul if not defined w11 ( bcdedit /set description "ReviOS 10 %version%" >NUL 2>nul - reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation" /v "Model" /t REG_SZ /d "ReviOS 10 %version%" /f >NUL 2>nul - reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "RegisteredOrganization" /t REG_SZ /d "ReviOS 10 %version%" /f >NUL 2>nul + reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation" /v "Model" /t REG_SZ /d "ReviOS 10 %version%" /f >NUL 2>nul + reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "RegisteredOrganization" /t REG_SZ /d "ReviOS 10 %version%" /f >NUL 2>nul ) else ( bcdedit /set description "ReviOS 11 %version%" >NUL 2>nul - reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation" /v "Model" /t REG_SZ /d "ReviOS 11 %version%" /f >NUL 2>nul - reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "RegisteredOrganization" /t REG_SZ /d "ReviOS 11 %version%" /f >NUL 2>nul + reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation" /v "Model" /t REG_SZ /d "ReviOS 11 %version%" /f >NUL 2>nul + reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "RegisteredOrganization" /t REG_SZ /d "ReviOS 11 %version%" /f >NUL 2>nul ) @REM PowerShell -NonInteractive -NoLogo -NoP -C "Get-CimInstance -Namespace "Root\cimv2\mdm\dmmap" -ClassName "MDM_EnterpriseModernAppManagement_AppManagement01" | Invoke-CimMethod -MethodName UpdateScanMethod" >NUL 2>nul @@ -89,7 +89,7 @@ netsh interface Teredo set state servername=default >NUL 2>nul echo Configuring Windows settings net accounts /maxpwage:unlimited - + PowerShell -NonInteractive -NoLogo -NoProfile -Command "Disable-MMAgent -mc" PowerShell -NonInteractive -NoLogo -NoProfile -Command "Disable-WindowsErrorReporting" powershell -NonInteractive -NoLogo -NoProfile Set-ProcessMitigation -Name vgc.exe -Enable CFG @@ -109,4 +109,3 @@ echo Configuring animations ::echo Updating root certificates ::PowerShell -NonInteractive -NoLogo -NoP -C "& {$tmp = (New-TemporaryFile).FullName; CertUtil -generateSSTFromWU -f $tmp; if ( (Get-Item $tmp | Measure-Object -Property Length -Sum).sum -gt 0 ) { $SST_File = Get-ChildItem -Path $tmp; $SST_File | Import-Certificate -CertStoreLocation "Cert:\LocalMachine\Root"; $SST_File | Import-Certificate -CertStoreLocation "Cert:\LocalMachine\AuthRoot" } Remove-Item -Path $tmp}" >NUL 2>nul - diff --git a/src/Executables/ONED.cmd b/src/Executables/ONED.cmd index a3a18e38..a7bbf3f3 100644 --- a/src/Executables/ONED.cmd +++ b/src/Executables/ONED.cmd @@ -25,7 +25,7 @@ foreach ($user in $users) { $uninstallFilePath = [System.IO.Path]::GetDirectoryName($uninstallString) $uninstallRegPaths.Add($uninstallFilePath) } - + Remove-ItemProperty -Path "HKU:\$($user.PSChildName)\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" -Name "OneDrive" -EA SilentlyContinue Remove-Item -Path "HKU:\$($user.PSChildName)\Software\Microsoft\Windows\CurrentVersion\Uninstall\OneDriveSetup.exe" -Force -EA SilentlyContinue diff --git a/src/Executables/STARTMENU.cmd b/src/Executables/STARTMENU.cmd index e3109734..011c2c18 100644 --- a/src/Executables/STARTMENU.cmd +++ b/src/Executables/STARTMENU.cmd @@ -77,4 +77,4 @@ for %%i in ( "SystemSettingsExtensions.dll" ) do ( if not exist "!SystemDrive!\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\%%i" if exist "!SystemDrive!\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\%%i.bak" ren "!SystemDrive!\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\%%i.bak" "%%i" -) \ No newline at end of file +) diff --git a/src/Executables/SVCGROUP.ps1 b/src/Executables/SVCGROUP.ps1 index 1bba726d..db94981c 100644 --- a/src/Executables/SVCGROUP.ps1 +++ b/src/Executables/SVCGROUP.ps1 @@ -34,7 +34,7 @@ $services = @( "WpnService", "gpsvc", "iphlpsvc", - "wuauserv", + "wuauserv", "WinHttpAutoProxySvc", "EventLog", @@ -45,24 +45,24 @@ $services = @( "FontCache", "nsi", "netprofm", - "SstpSvc", + "SstpSvc", "DispBrokerDesktopSvc", "CDPSvc", "EventSystem", - "LicenseManager", + "LicenseManager", "SystemEventsBroker", "Power", "LSM", "DcomLaunch", "BrokerInfrastructure", - + "CoreMessagingRegistrar", "DPS", "NcdAutoSetup", - - "AppXSvc", - "ClipSVC", + + "AppXSvc", + "ClipSVC", "camsvc", "StateRepository", @@ -95,7 +95,6 @@ foreach ($service in $userServices) { $matchingServices = Get-Service | Where-Object { $_.Name -like $service } foreach ($matchingService in $matchingServices) { - New-ItemProperty -Path "$registryPath\$($matchingService.Name)" -Name "SvcHostSplitDisable" -Value 1 -PropertyType DWord -Force - + New-ItemProperty -Path "$registryPath\$($matchingService.Name)" -Name "SvcHostSplitDisable" -Value 1 -PropertyType DWord -Force } } \ No newline at end of file diff --git a/src/Executables/WALLPAPER.ps1 b/src/Executables/WALLPAPER.ps1 index 2f5291ac..dea27f4e 100644 --- a/src/Executables/WALLPAPER.ps1 +++ b/src/Executables/WALLPAPER.ps1 @@ -21,22 +21,22 @@ function Set-DesktopWallpaper { $userKey = $_.Name [microsoft.win32.registry]::SetValue("$userKey\Control Panel\Desktop", "WallPaper", $imagePath, [Microsoft.Win32.RegistryValueKind]::String) } - + # https://gist.github.com/s7ephen/714023?permalink_comment_id=3611772#gistcomment-3611772 $setwallpapersrc = @" using System.Runtime.InteropServices; public class DesktopWallpaper { - public const int SetDesktopWallpaper = 20; - public const int UpdateIniFile = 0x01; - public const int SendWinIniChange = 0x02; - [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] - private static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni); - public static void SetWallpaper(string path) - { - SystemParametersInfo(SetDesktopWallpaper, 0, path, UpdateIniFile | SendWinIniChange); - } + public const int SetDesktopWallpaper = 20; + public const int UpdateIniFile = 0x01; + public const int SendWinIniChange = 0x02; + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + private static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni); + public static void SetWallpaper(string path) + { + SystemParametersInfo(SetDesktopWallpaper, 0, path, UpdateIniFile | SendWinIniChange); + } } "@ if (-not ([System.Management.Automation.PSTypeName]'DesktopWallpaper').Type) { diff --git a/src/Executables/assoc.ps1 b/src/Executables/assoc.ps1 index 59f9db77..ad40fc63 100644 --- a/src/Executables/assoc.ps1 +++ b/src/Executables/assoc.ps1 @@ -8,15 +8,15 @@ function Delete-UserChoiceKey { using System; using System.Runtime.InteropServices; using Microsoft.Win32; - + namespace Registry { public class Utils { [DllImport("advapi32.dll", SetLastError = true)] private static extern int RegOpenKeyEx(UIntPtr hKey, string subKey, int ulOptions, int samDesired, out UIntPtr hkResult); - + [DllImport("advapi32.dll", SetLastError=true, CharSet = CharSet.Unicode)] private static extern uint RegDeleteKey(UIntPtr hKey, string subKey); - + public static void DeleteKey(string key) { UIntPtr hKey = UIntPtr.Zero; RegOpenKeyEx((UIntPtr)0x80000003u, key, 0, 0x20019, out hKey); @@ -64,7 +64,7 @@ for ($i = 2; $i -lt $args.Length; $i++) { } else { If (-NOT (Test-Path "HKU:\$Hive\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$($splitArg[0])")) { New-Item -Path "HKU:\$Hive\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$($splitArg[0])" -Force | Out-Null - } + } If (Test-Path "HKU:\$Hive\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$($splitArg[0])\UserChoice") { Delete-UserChoiceKey "$Hive\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$($splitArg[0])\UserChoice" } diff --git a/src/Executables/ngen.ps1 b/src/Executables/ngen.ps1 index e966aa3e..4ab500f0 100644 --- a/src/Executables/ngen.ps1 +++ b/src/Executables/ngen.ps1 @@ -4,7 +4,7 @@ Get-ScheduledTask -TaskPath "\Microsoft\Windows\.NET Framework\" | Start-Schedul $env:PATH = [Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory() [AppDomain]::CurrentDomain.GetAssemblies() | ForEach-Object { $path = $_.Location - if ($path) { + if ($path) { $name = Split-Path $path -Leaf Write-Host -ForegroundColor Yellow "`r`nRunning ngen on '$name'" ngen.exe install $path /nologo diff --git a/src/Executables/settings.json b/src/Executables/settings.json index 06f842f3..07b9eddd 100644 --- a/src/Executables/settings.json +++ b/src/Executables/settings.json @@ -1,8 +1,8 @@ { "$schema": "https://aka.ms/winget-settings.schema.json", - "telemetry": { - "disable": true - } + "telemetry": { + "disable": true + } // For documentation on these settings, see: https://aka.ms/winget-settings // "source": { // "autoUpdateIntervalInMinutes": 5 diff --git a/src/playbook.conf b/src/playbook.conf index a51eefbe..fdeab67e 100644 --- a/src/playbook.conf +++ b/src/playbook.conf @@ -48,7 +48,7 @@ #FF3647 #FFC742 - + dotnet35 + --> Remove Microsoft Edge and Copilot remove-edge