{"id":17502660,"url":"https://github.com/agadiffe/windowsmize","last_synced_at":"2025-04-11T01:41:17.707Z","repository":{"id":257855720,"uuid":"871336203","full_name":"agadiffe/WindowsMize","owner":"agadiffe","description":":pushpin: PowerShell script to automate and customize the configuration of Windows. General settings, telemetry, network protocols, apps removal/installation, ramdisk, services, scheduled tasks.","archived":false,"fork":false,"pushed_at":"2025-04-10T09:54:42.000Z","size":1515,"stargazers_count":14,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-10T10:54:18.534Z","etag":null,"topics":["bloatware","cleanup","debloat","debloater","optimize","powershell","powershell-module","powershell-script","privacy","security","telemetry","tweaks","windows","windows-10","windows-11","windows10","windows11"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","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/agadiffe.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-11T18:40:40.000Z","updated_at":"2025-04-10T09:54:45.000Z","dependencies_parsed_at":"2024-10-25T10:36:28.712Z","dependency_job_id":"5fa089f0-decb-47f5-aa51-ee5528a90dc2","html_url":"https://github.com/agadiffe/WindowsMize","commit_stats":{"total_commits":20,"total_committers":1,"mean_commits":20.0,"dds":0.0,"last_synced_commit":"e55d7ad571b5781b62ac47d88ddad75afccc5731"},"previous_names":["agadiffe/windowsmize"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agadiffe%2FWindowsMize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agadiffe%2FWindowsMize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agadiffe%2FWindowsMize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agadiffe%2FWindowsMize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agadiffe","download_url":"https://codeload.github.com/agadiffe/WindowsMize/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248327406,"owners_count":21085249,"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":["bloatware","cleanup","debloat","debloater","optimize","powershell","powershell-module","powershell-script","privacy","security","telemetry","tweaks","windows","windows-10","windows-11","windows10","windows11"],"created_at":"2024-10-19T21:15:41.544Z","updated_at":"2025-04-11T01:41:17.695Z","avatar_url":"https://github.com/agadiffe.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n__      __  _             _                       __  __   _\n\\ \\    / / (_)  _ _    __| |  ___  __ __ __  ___ |  \\/  | (_)  ___  ___\n \\ \\/\\/ /  | | | ' \\  / _` | / _ \\ \\ V  V / (_-\u003c | |\\/| | | | |_ / / -_)\n  \\_/\\_/   |_| |_||_| \\__,_| \\___/  \\_/\\_/  /__/ |_|  |_| |_| /__| \\___|\n\n```\n\n## Description\n### Purpose\nPowerShell script to automate and customize the configuration of Windows.\n\n1. Install Windows (semi-unattended: see New-WindowsAnswerFile.ps1) + updates\n2. Run the script (WindowsMize.ps1)\n3. Finish some customization (see todo_manually.md)\n\n### Characteristics\n- Designed for Windows 11 (most tweaks/settings also works on Windows 10).\n- Fully non-interactive script: make sure to review everything before running it.\n\n### Remarks\nYou can read some comments in the source code files about why you should disable some features.\n\nExample:\n - src \u003e modules \u003e network \u003e private \u003e NetFirewallRules.ps1\n - src \u003e modules \u003e network \u003e public\n - src \u003e modules \u003e telemetry \u003e public\n - src \u003e modules \u003e tweaks \u003e public\n\n## Features\n### Windows settings\nEquivalent of the Windows GUI settings app (start \u003e all apps \u003e settings).  \nThere are almost every settings, organized like the graphical counterpart.\n\n### File Explorer\nEvery settings + few extra.  \nextra: Show/Hide Home/Gallery, ShowRemovableDrivesOnlyInThisPC, AutoFolderTypeDetection, MaxIconCacheSize.\n\n### System Properties\nEquivalent of the Windows GUI System Properties.  \nVisual Effects, Virtual Memory (paging file), System failure, System Restore, Remote Assistance.\n\n### Power options\nSettings not present in the Windows GUI settings app.  \nFast startup, Hibernate, Network connectivity in Modern standby (S0), Battery settings (Low, Critical, Reserve).\n\n### Network\nImprove security by disabling various network protocols.\n- Firewall : block some ports/programs shown as listening (locally) in Netstat or TCP View.\n- IPv6 transition technologies (6to4, Teredo, IP-HTTPS, ISATAP).\n- Network adapter protocol (Equivalent of the GUI properties (more adapter options \u003e edit)).\n- Miscellaneous (NetBiosOverTcpIP, IcmpRedirects, IPSourceRouting, LLMNR, Smhnr, Wpad).\n\n### Telemetry\nVarious Group Policies to minimize Windows telemetry:  \nDotNetTelemetry, NvidiaTelemetry, PowerShellTelemetry, AppAndDeviceInventory, ApplicationCompatibility, Ceip,  \nCloudContent, ConsumerExperience, DiagnosticLogAndDumpCollectionLimit, DiagnosticsAutoLogger,  \nDiagnosticTracing, ErrorReporting, GroupPolicySettingsLogging, HandwritingPersonalization, InventoryCollector,  \nKmsClientActivationDataSharing, MsrtDiagnosticReport, OneSettingsDownloads, UserInfoSharing.\n\nThe main telemetry configurations are in the Windows settings app.  \nSee 'Windows Settings App \u003e Privacy \u0026 security \u003e Windows permissions'.\n\n### Tweaks\nVarious tweaks to improve and customize Windows:\n- Security, privacy and networking:  \n  Hotspot2, IndexingEncryptedFiles, LockScreenCameraAccess, MessagingCloudSync, NotificationsNetworkUsage,  \n  PasswordExpiration, PasswordRevealButton, PrinterDriversDownloadOverHttp, WifiSense, Wpbt.\n- System and performance:  \n  FirstSigninAnimation, LongPaths, NtfsLastAccessTime, NumLockAtStartup, ServiceHostSplitting,  \n  Short8Dot3FileName, StartupShutdownVerboseStatusMessages.\n- User interface and experience:  \n  ActionCenterLayout, CopyPasteDialogShowMoreDetails, HelpTips, OnlineTips, ShortcutNameSuffix,  \n  StartMenuRecommendedSection, SuggestedContent, WindowsExperimentation, WindowsInputExperience,  \n  WindowsPrivacySettingsExperience, WindowsSharedExperience, WindowsSpotlight.\n- Windows features and settings:  \n  MoveCharacterMapShortcutToWindowsTools, EventLogLocation, EaseOfAccessReadScanSection, FileHistory,  \n  FontProviders, HomeSettingPageVisibility, OpenWithDialogStoreAccess, WindowsHelpSupport (F1Key, Feedback),  \n  WindowsMediaDrmOnlineAccess, WindowsUpdateSearchDrivers.\n\n### Applications\n#### Removal\nRemove default unwanted apps (bloatware).  \ne.g. Microsoft Edge, OneDrive, Start Menu sponsored apps, Widgets, BingSearch, ClipChamp, etc...\n\n#### Installation\nInstall applications with Winget.  \nThere are some predefined apps with a friendly name:  \nGit, VSCode, VLC, Bitwarden, KeePassXC, ProtonPass, AcrobatReader, SumatraPDF, 7zip, Notepad++, qBittorrent,  \nBrave, Firefox, MullvadBrowser, DirectXEndUserRuntime, Visual C++ Redistributable.\n\nYou can also install any apps with their Winget app name (e.g. 'Valve.Steam').\n\n#### Settings\nConfigure applications settings (including UWP apps).  \nApps: AcrobatReader, Brave Browser, Git, KeePassXC, MSOffice, qBittorrent, VLC, VSCode.  \nUWP apps: Microsoft Store, Notepad, Photos, Snipping Tool, Terminal.\n\n### RamDisk\nConfigure a RamDisk for 'Brave Browser' and 'VSCode'.\n\nFor Brave, only a few elements are either restored to or excluded from the RamDisk:\n- Extensions and their settings (excluded. i.e. symlinked).\n- Bookmarks and their favicons (saved and restored upon logoff/logon).\n- Settings preferences (saved and restored upon logoff/logon).\n\ni.e. By default, history and cookies are not restored across logoff/logon.\n\n### Services \u0026 Scheduled Tasks\nConfigure Windows Services \u0026 Scheduled Tasks (grouped by categories).  \nThere are a lot of comments about the services in 'src \u003e modules \u003e services \u003e private'.  \nMake sure to review them to know which one to disable according to your usages.\n\n\n## Usage\nThis script requires 'PowerShell 7 (aka PowerShell Core)' and must be run as Administrator.  \nIt's recommended to use Notepad++ or VSCode to have the code highlighted.\n\n### Automated\n1. Open a PowerShell prompt (Administrator privileges are not required).  \n   Right-click on `Start Menu` \u003e `Terminal`.\n2. Download and extract WindowsMize archive to the 'Downloads' folder.  \n   e.g. `C:\\Users\\\u003cUser\u003e\\Downloads\\WindowsMize`.  \n   If the folder 'WindowsMize' exist, it will be deleted.  \n   Save any data you want to keep (e.g. previous log files).\n    ```powershell\n    irm 'https://github.com/agadiffe/WindowsMize/raw/main/Download_WindowsMize.ps1' | iex\n    ```\n3. Navigate to the extracted 'WindowsMize' folder in your 'Downloads' folder.\n4. **Configure the script (WindowsMize.ps1) according to your preferences**.\n5. Double click on the `Run_WindowsMize.bat` file to run the script.  \n   Accept the Windows UAC prompt to run it as Administrator (required).  \n   If 'PowerShell 7' is not installed, it will be automatically installed.\n6. Restart (Mandatory for a lot of tweaks/settings).\n\n\n### Manually\n1. [Download WindowsMize](https://github.com/agadiffe/WindowsMize/archive/main.zip).\n2. Navigate to the directory where you downloaded the archive and extract it.\n3. **Configure the script (WindowsMize.ps1) according to your preferences**.\n3. Open a PowerShell prompt (as Administrator or not).  \n   Right-click on `Start Menu` \u003e `Terminal`.\n3. Install 'PowerShell 7'.\n    ```powershell\n    winget install --exact --id 'Microsoft.PowerShell' --accept-source-agreements --accept-package-agreements\n    ```\n4. Open an elevated (i.e. Administrator) PowerShell prompt:  \n   Right-click on `Start Menu` \u003e `Terminal (Admin)`.  \n   At the top of the Terminal window:  \n   Click on the down arrow and choose 'PowerShell'.\n5. Navigate to the directory where you extracted 'WindowsMize' (replace '\\\u003cUser\\\u003e' with your username).  \n   Example:\n    ```powershell\n    cd 'C:\\Users\\\u003cUser\u003e\\Downloads\\WindowsMize-main\\WindowsMize-main'\n    ```\n6. Unblock the script files (might not be necessary).\n    ```powershell\n    Get-ChildItem -File -Recurse | Unblock-File\n    ```\n7. Sets the PowerShell execution policies for the current session (enable PowerShell script execution).\n    ```powershell\n    Set-ExecutionPolicy -ExecutionPolicy 'Bypass' -Scope 'Process'\n    ```\n8. Run the script.\n    ```powershell\n    .\\WindowsMize.ps1\n    ```\n9. Restart (Mandatory for a lot of tweaks/settings).\n\n\n## Support\nIf you find a bug, please open an issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagadiffe%2Fwindowsmize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagadiffe%2Fwindowsmize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagadiffe%2Fwindowsmize/lists"}