{"id":23739418,"url":"https://github.com/ccdc-opensource/ansible-role-debloat-windows","last_synced_at":"2026-01-18T00:18:31.251Z","repository":{"id":55142852,"uuid":"522902423","full_name":"ccdc-opensource/ansible-role-debloat-windows","owner":"ccdc-opensource","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-18T09:50:09.000Z","size":57,"stargazers_count":17,"open_issues_count":3,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-18T10:38:17.805Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ccdc-opensource.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-09T10:28:44.000Z","updated_at":"2024-12-18T09:50:12.000Z","dependencies_parsed_at":"2024-05-15T14:48:23.250Z","dependency_job_id":"4fdfa255-f3ed-47e8-9f12-d01782364c3c","html_url":"https://github.com/ccdc-opensource/ansible-role-debloat-windows","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccdc-opensource%2Fansible-role-debloat-windows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccdc-opensource%2Fansible-role-debloat-windows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccdc-opensource%2Fansible-role-debloat-windows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccdc-opensource%2Fansible-role-debloat-windows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ccdc-opensource","download_url":"https://codeload.github.com/ccdc-opensource/ansible-role-debloat-windows/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231970924,"owners_count":18453924,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-31T09:36:51.582Z","updated_at":"2026-01-18T00:18:31.240Z","avatar_url":"https://github.com/ccdc-opensource.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# ccdc.debloat_windows\n\n[![Ansible Galaxy](https://img.shields.io/badge/ansible--galaxy-ccdc.debloat_windows-blue.svg)](https://galaxy.ansible.com/ccdc/debloat_windows/)\n[![Ansible Lint](https://github.com/ccdc-opensource/ansible-role-debloat-windows/actions/workflows/lint-ansible-role.yml/badge.svg)](https://github.com/ccdc-opensource/ansible-role-debloat-windows/actions/workflows/lint-ansible-role.yml)\n[![Common CCDC PR Checks](https://github.com/ccdc-opensource/ansible-role-debloat-windows/actions/workflows/common_ccdc_status_checks.yml/badge.svg)](https://github.com/ccdc-opensource/ansible-role-debloat-windows/actions/workflows/common_ccdc_status_checks.yml)\n\nAn Ansible role to remove some of the bloat on Windows, used by CCDC to create Vagrant base images.\n\nThe actual functionality here is based heavily on [W4RH4WK/Debloat-Windows-10](https://github.com/W4RH4WK/Debloat-Windows-10)\nand our own custom scripts, but codified as an Ansible role so it's a bit easier to maintain\nand manage than a pile of PowerShell scripts.\n\n## Requirements\n\nThis role requires the `[community.windows](https://galaxy.ansible.com/community/windows)` collection.\n\n## Role Variables\n\nMost of the variables for this role are simple booleans to determine which debloating features should be run.\nThe tasks are grouped by purpose as follows:\n\n### Disable Telemetry\n\n| Variable                     | Default | Comments                                     |\n|------------------------------|---------|----------------------------------------------|\n| `disable_telemetry_policy`   | `true`  | Disable telemetry via Group Policy           |\n| `disable_telemetry_dnsblock` | `true`  | Set up DNS and firewall blocks for telemetry |\n\n### Disable Windows Defender\n\n| Variable                                     | Default | Comments                                      |\n|----------------------------------------------|---------|-----------------------------------------------|\n| `disable_windows_defender_tasks`             | `true`  | Disable Windows Defender scheduled tasks      |\n| `disable_windows_defender_policy`            | `true`  | Disable Windows Defender via Group Policy     |\n| `disable_windows_defender_context_menu`      | `true`  | Disable Windows Defender context menu entries |\n\n### GUI setup\n\n| Variable                         | Default     | Comments                                                 |\n|--------------------------------------|---------|----------------------------------------------------------|\n| `disable_mouse_pointer_hiding`   | `true`      | Disable Windows hiding the mouse pointer when idle       |\n| `disable_game_bar`               | `true`      | Disable the Xbox Game Bar and Game DVR                   |\n| `disable_keyboard_accessibility` | `true`      | Disable Sticky Keys, Toggle Keys etc.                    |\n| `disable_screensaver`            | `true`      | Disable screen saver                                     |\n| `disable_display_timeout`        | `true`      | Disable display auto-shutdown                            |\n| `disable_edge_shortcut`          | `true`      | Disable creation of MS Edge shortcuts                    |\n| `restore_old_volume_slider`      | `true`      | Restore pre-Win10 volume slider                          |\n| `disable_aero_shake`             | `true`      | Disable Aero Shake                                       |\n| `enable_quickedit`               | `true`      | Enable QuickEdit mode in cmd.exe windows                 |\n| `show_run`                       | `true`      | Show Run in Start menu                                   |\n| `show_admin_tools`               | `true`      | Show Administrative Tools in Start menu                  |\n| `set_explorer_default_this_pc`   | `true`      | Set Explorer as default view for This PC                 |\n| `set_folder_view_options`        | `true`      | Set default folder view options (view hidden files, etc) |\n| `library_folders`                | [see below] | UUIDs of library folders to remove from \"This PC\"        |\n\n#### Default values for `library_folders`\n\nThe `library_folders` variable contains a list of UUIDs of the Library folders to remove from\nWindows' \"This PC\" view. These map directly to registry keys in\n`HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MyComputer\\NameSpace`.\nThe variable can be set to a custom list to specify which folders to remove, or an empty one\nto skip the task entirely.\n\n```yaml\nlibrary_folders:\n  - {B4BFCC3A-DB2C-424C-B029-7FE99A87C641}    # Desktop\n  - {A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}    # Documents\n  - {d3162b92-9365-467a-956b-92703aca08af}    # Documents\n  - {374DE290-123F-4565-9164-39C4925E467B}    # Downloads\n  - {088e3905-0323-4b02-9826-5d99428e115f}    # Downloads\n  - {1CF1260C-4DD0-4ebb-811F-33C572699FDE}    # Music\n  - {3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}    # Music\n  - {3ADD1653-EB32-4cb0-BBD7-DFA0ABB5ACCA}    # Pictures\n  - {24ad3ad4-a569-4530-98e1-ab02f9417aa8}    # Pictures\n  - {A0953C92-50DC-43bf-BE83-3742FED03C9C}    # Videos\n  - {f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}    # Videos\n  - {0DB7E03F-FC29-4DC6-9020-FF41B59E513A}    # 3D Objects\n```\n\n### General Privacy Fixes\n\n| Variable                                     | Default | Comments                                 |\n|----------------------------------------------|---------|------------------------------------------|\n| `disable_search_web_results`                 | `true`  | Disable web results in Windows menu search |\n| `disable_web_language_list_access`           | `true`  | Disable sending language list with web requests |\n| `disable_location_aware_printing`            | `true`  | Disable Location Aware Printing |\n| `disable_keyboard_telemetry`                 | `true`  | Disable keyboard telemetry |\n| `disable_advertising_id`                     | `true`  | Disable shared advertising ID |\n| `disable_smartscreen_web_filter`             | `true`  | Disable SmartScreen web filter |\n| `disable_microsoft_account_settings_sync`    | `true`  | Disable settings sync to Microsoft Account |\n| `disable_cortana_personalization`            | `true`  | Disable Cortana personalization |\n| `disable_contact_harvesting`                 | `true`  | Disable contact harvesting |\n| `disable_input_personalization`              | `true`  | Disable virtual keyboard/Ink personalization |\n| `harden_microsoft_edge`                      | `true`  | Harden MS Edge privacy settings |\n| `disable_location_sensor`                    | `true`  | Disable Location sensor for apps |\n| `disable_windows_defender_sample_submission` | `true`  | Disable Windows Defender sample submission |\n| `disable_default_background_access`          | `true`  | Disable Background Access permission for default apps |\n| `disable_unpaired_information_sharing`       | `true`  | Disable information sharing with unpaired devices |\n\n### Disable Windows Update\n\n| Variable                                     | Default | Comments                                 |\n|----------------------------------------------|---------|------------------------------------------|\n| `disable_autoupdate`                         | `true`  | Disable automatic download+install of Windows updates |\n| `disable_delivery_optimization`              | `true`  | Disable Windows Update delivery optimization |\n| `disable_driver_updates`                     | `false` | Disable automatic driver updates |\n| `disable_update_notification`                | `true`  | Disable \"Updates available\" notification |\n\n### Remove default apps\n\n| Variable                                     | Default | Comments                                 |\n|----------------------------------------------|---------|------------------------------------------|\n| `disable_default_app_reinstall`              | `true`  | Prevent default apps from reinstalling |\n| `disable_windows_store_autodownload`         | `true`  | Prevent automatic download of Windows Store updates |\n| `disable_app_suggestions`                    | `true`  | Disable Suggested Applications |\n| `remove_onedrive` | `true`  | Remove OneDrive |\n| `remove_default_apps` | [see below] | list | Windows Store app IDs to uninstall |\n| `remove_windows_capabilities` | [see below] | list | Capability names to uninstall |\n| `remove_windows_optional_features` | [see below] | list | Optional Feature names to uninstall |\n\n#### Default apps to be removed by `remove_default_apps`\n\nThe `remove_default_apps` variable contains a list of Windows Store app IDs that will be removed if\nthey're present. The variable can be set to a custom list to specify which folders to remove, or an\nempty one to skip the task entirely.\n\n```yaml\nremove_default_apps:\n  # default Windows 10 apps\n  - \"Microsoft.549981C3F5F10\"   # Cortana\n  - \"Microsoft.3DBuilder\"\n  - \"Microsoft.Appconnector\"\n  - \"Microsoft.BingFinance\"\n  - \"Microsoft.BingNews\"\n  - \"Microsoft.BingSports\"\n  - \"Microsoft.BingTranslator\"\n  - \"Microsoft.BingWeather\"\n  - \"Microsoft.FreshPaint\"\n  - \"Microsoft.GamingServices\"\n  - \"Microsoft.Microsoft3DViewer\"\n  - \"Microsoft.MicrosoftOfficeHub\"\n  - \"Microsoft.MicrosoftPowerBIForWindows\"\n  - \"Microsoft.MicrosoftSolitaireCollection\"\n  - \"Microsoft.MicrosoftStickyNotes\"\n  - \"Microsoft.MinecraftUWP\"\n  - \"Microsoft.NetworkSpeedTest\"\n  - \"Microsoft.Office.OneNote\"\n  - \"Microsoft.People\"\n  - \"Microsoft.Print3D\"\n  - \"Microsoft.SkypeApp\"\n  - \"Microsoft.Wallet\"\n  - \"Microsoft.WindowsAlarms\"\n  - \"Microsoft.WindowsCamera\"\n  - \"microsoft.windowscommunicationsapps\"\n  - \"Microsoft.WindowsMaps\"\n  - \"Microsoft.WindowsPhone\"\n  - \"Microsoft.WindowsSoundRecorder\"\n  - \"Microsoft.Xbox.TCUI\"\n  - \"Microsoft.XboxApp\"\n  - \"Microsoft.XboxGameOverlay\"\n  - \"Microsoft.XboxGamingOverlay\"\n  - \"Microsoft.XboxSpeechToTextOverlay\"\n  - \"Microsoft.YourPhone\"\n  - \"Microsoft.ZuneMusic\"\n  - \"Microsoft.ZuneVideo\"\n  # Threshold 2 apps\n  - \"Microsoft.CommsPhone\"\n  - \"Microsoft.ConnectivityStore\"\n  - \"Microsoft.GetHelp\"\n  - \"Microsoft.Getstarted\"\n  - \"Microsoft.Messaging\"\n  - \"Microsoft.Office.Sway\"\n  - \"Microsoft.OneConnect\"\n  - \"Microsoft.WindowsFeedbackHub\"\n  - \"Microsoft.Microsoft3DViewer\"\n  # Redstone apps\n  - \"Microsoft.BingFoodAndDrink\"\n  - \"Microsoft.BingHealthAndFitness\"\n  - \"Microsoft.BingTravel\"\n  - \"Microsoft.WindowsReadingList\"\n  # Redstone 5 apps\n  - \"Microsoft.MixedReality.Portal\"\n  - \"Microsoft.ScreenSketch\"\n  - \"Microsoft.XboxGamingOverlay\"\n  # non-Microsoft\n  - \"2FE3CB00.PicsArt-PhotoStudio\"\n  - \"46928bounde.EclipseManager\"\n  - \"4DF9E0F8.Netflix\"\n  - \"613EBCEA.PolarrPhotoEditorAcademicEdition\"\n  - \"6Wunderkinder.Wunderlist\"\n  - \"7EE7776C.LinkedInforWindows\"\n  - \"89006A2E.AutodeskSketchBook\"\n  - \"9E2F88E3.Twitter\"\n  - \"A278AB0D.DisneyMagicKingdoms\"\n  - \"A278AB0D.MarchofEmpires\"\n  - \"ActiproSoftwareLLC.562882FEEB491\"\n  - \"CAF9E577.Plex\"\n  - \"ClearChannelRadioDigital.iHeartRadio\"\n  - \"D52A8D61.FarmVille2CountryEscape\"\n  - \"D5EA27B7.Duolingo-LearnLanguagesforFree\"\n  - \"DB6EA5DB.CyberLinkMediaSuiteEssentials\"\n  - \"DolbyLaboratories.DolbyAccess\"\n  - \"DolbyLaboratories.DolbyAccess\"\n  - \"Drawboard.DrawboardPDF\"\n  - \"Facebook.Facebook\"\n  - \"Fitbit.FitbitCoach\"\n  - \"Flipboard.Flipboard\"\n  - \"GAMELOFTSA.Asphalt8Airborne\"\n  - \"KeeperSecurityInc.Keeper\"\n  - \"NORDCURRENT.COOKINGFEVER\"\n  - \"PandoraMediaInc.29680B314EFC2\"\n  - \"Playtika.CaesarsSlotsFreeCasino\"\n  - \"ShazamEntertainmentLtd.Shazam\"\n  - \"SlingTVLLC.SlingTV\"\n  - \"SpotifyAB.SpotifyMusic\"\n  - \"TheNewYorkTimes.NYTCrossword\"\n  - \"ThumbmunkeysLtd.PhototasticCollage\"\n  - \"TuneIn.TuneInRadio\"\n  - \"WinZipComputing.WinZipUniversal\"\n  - \"XINGAG.XING\"\n  - \"flaregamesGmbH.RoyalRevolt2\"\n  - \"king.com.*\"\n  - \"king.com.BubbleWitch3Saga\"\n  - \"king.com.CandyCrushSaga\"\n  - \"king.com.CandyCrushSodaSaga\"\n  - \"Microsoft.Advertising.Xaml\"\n```\n\n#### Windows Capabilities to be removed by `remove_windows_capabilities`\n\nThe `remove_windows_capabilities` variable contains a list of Capability names that will be removed#\nif they're present. You can determine the names of available and installed Capabilities with the\nPowerShell command `Get-WindowsCapability -Online`. The variable can be set to a custom list to\nspecify which features to remove, or an empty one to skip the task entirely.\n\n```yaml\nremove_windows_capabilities:\n  - Media.WindowsMediaPlayer~~~~0.0.12.0\n  - MathRecognizer~~~~0.0.1.0\n  - Language.Speech~~~en-US~0.0.1.0\n  - Language.OCR~~~en-US~0.0.1.0\n  - Language.Handwriting~~~en-US~0.0.1.0\n  - Browser.InternetExplorer~~~~0.0.11.0\n```\n\n### Optional Features to be removed by `remove_windows_optional_features`\n\nThe `remove_windows_optional_features` variable contains a list of Optional Feature names that will\nbe removed if they're present. You can determine the names of available and installed Optional\nFeatures with the PowerShell command `Get-WindowsOptionalFeature -Online`.  The variable can be set\nto a custom list to specify which features to remove, or an empty one to skip the task entirely.\n\n```yaml\nremove_windows_optional_features:\n  - XPS-Viewer\n  - Windows-Defender\n```\n\n### Disable Hibernation\n\n| Variable                               | Default | Comments                 |\n|----------------------------------------|---------|--------------------------|\n| `disable_hibernate`                    | `true`  | Disable Hibernation mode |\n\n### Disable Services\n\n| Variable           | Default     | Type | Comments                     |\n|--------------------|-------------|------|------------------------------|\n| `disable_services` | [see below] | list | Names of services to disable |\n\nThe `disable_services` variable can be overriden in its entirety to provide a custom list of\nservices to disable, or set to an empty list to skip this task entirely.\n\n```yaml\ndisable_services:\n  - \"diagnosticshub.standardcollector.service\" # Microsoft (R) Diagnostics Hub Standard Collector Service\n  - \"DiagTrack\"                                # Diagnostics Tracking Service\n  - \"dmwappushservice\"                         # WAP Push Message Routing Service\n  - \"HomeGroupListener\"                        # HomeGroup Listener\n  - \"HomeGroupProvider\"                        # HomeGroup Provider\n  - \"lfsvc\"                                    # Geolocation Service\n  - \"MapsBroker\"                               # Downloaded Maps Manager\n  - \"NetTcpPortSharing\"                        # Net.Tcp Port Sharing Service\n  - \"RemoteAccess\"                             # Routing and Remote Access\n  - \"RemoteRegistry\"                           # Remote Registry\n  - \"SharedAccess\"                             # Internet Connection Sharing (ICS)\n  - \"TrkWks\"                                   # Distributed Link Tracking Client\n  - \"WbioSrvc\"                                 # Windows Biometric Service\n  - \"WMPNetworkSvc\"                            # Windows Media Player Network Sharing Service\n  - \"wscsvc\"                                   # Windows Security Center Service\n  - \"XblAuthManager\"                           # Xbox Live Auth Manager\n  - \"XblGameSave\"                              # Xbox Live Game Save Service\n  - \"XboxNetApiSvc\"                            # Xbox Live Networking Service\n  ```\n\n## Example Playbook\n\n```yaml\n  - hosts: all\n    roles:\n      - role: ccdc.debloat_windows\n        vars:\n          remove_default_apps: []\n          disable_services: []\n          disable_autoupdate: false\n```\n\n## License\n\nSee [LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccdc-opensource%2Fansible-role-debloat-windows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fccdc-opensource%2Fansible-role-debloat-windows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccdc-opensource%2Fansible-role-debloat-windows/lists"}