WinScript: a script builder for Windows debloat, privacy and app installs
Open-source tool to build your Windows script from scratch. It includes debloat, privacy, performance & app installing scripts.
At a glance
- What is it?
- WinScript generates a PowerShell script from a menu of debloat, privacy, performance, app-install and unattended-setup options. It is aimed at people who want a repeatable, reviewable Windows setup rather than a fixed one-size script.
- Who is it for?
- Adopt WinScript if you want to compose a Windows setup script from explicit options and keep the result as a file you can read and re-run. Do not adopt it if you need a maintained-by-a-vendor product with an audited change log, or if you cannot test the script on a machine you are willing to reinstall.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 18 days ago.
- What is it written in?
- Mainly CSS, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What WinScript solves, and who it is for
Fresh Windows installs carry software and settings most people never asked for. WinScript's own description puts it plainly: it is a tool to remove bloatware, disable telemetry, improve performance, bulk install apps, and more. The problem it addresses is not that Windows lacks switches for these things. It is that the switches are scattered across Settings, Group Policy, registry keys, scheduled tasks and per-app uninstallers, and that doing them by hand produces something you cannot reproduce on the next machine.
WinScript turns that work into a selection exercise. You pick the items you want from a graphical tool, and the tool emits a script that performs them. The audience is therefore narrower than "Windows users". It suits someone setting up several machines, or someone who wants the same tweaks applied after every reinstall, or someone who wants to inspect what a debloat script actually does before running it. It does not suit a user who wants a single installer that silently fixes everything, because the tool's whole premise is that you choose.
How the builder turns selections into a PowerShell script
The repository is organised around a few top-level entries: app/, docs/, website/, irm.ps1, README.md and LICENSE. The README describes the product as generating a script from your configuration, and the usage section shows three ways to get there: run it directly, install it through Winget, or launch the executable with an imported configuration file. The primary language listed for the repository is CSS, which is consistent with a project whose visible surface is a web interface and a marketing site rather than a PowerShell library.
The feature list maps onto script sections. Debloat covers uninstalling Microsoft Store, OneDrive, Copilot and Edge, and disabling Widgets, Recall and Consumer Features. Privacy covers blocking app access to sensitive permissions, disabling background syncing of themes and passwords, and stopping Microsoft telemetry across Windows, Office and Search, plus third-party collection from apps such as Adobe, VS Code and Nvidia. Performance covers the Ultimate Performance plan, mouse input delay, Superfetch, Storage Sense, Windows Defender CPU usage and startup services. The app installer generates install commands for either Chocolatey or Winget, and the unattended setup path produces an autounattend.xml that can bypass Windows 11 hardware requirements, create local accounts, skip OOBE prompts and updates, and run the WinScript configuration after setup finishes.
That last point is the architectural detail worth noticing: the output is not only a .ps1. The tool can also produce an answer file for Windows Setup, which means the same set of choices can be applied before the operating system is fully installed. The README does not describe how the two outputs stay in sync, so treat the autounattend.xml as a separate artefact you generate and check.
Running WinScript and importing a configuration
The README gives three entry points. The fastest is a one-line remote execution. It downloads and runs the script in the current PowerShell session, so you should read what the URL returns before executing it on a machine you care about.
irm "https://winscript.cc/irm" | iexThe second route installs the packaged application through Winget, which is the better option if you want the tool to appear in your installed programs and be updatable through the same package manager.
winget install winscriptThe third route is for repeatability. Once you have saved a configuration from the app, you can launch the executable with the -i flag and point it at that JSON file. The README shows the flag with a Windows path.
.\winscript.exe -i "C:\path\to\config.json"What you should see after the third command is the app opening with your previously chosen options already selected. The README does not document a headless mode, a dry-run flag, or a way to print the generated script to stdout from the command line, so the review step happens inside the interface rather than in your terminal.
Where WinScript is the wrong tool
The most obvious limitation is that the README documents no rollback. If you disable a service, remove a Store app, or block a permission and later discover you needed it, the README gives you no documented undo path. That is a real risk for anyone applying these changes to a work machine, because some of the listed items (Edge, OneDrive, telemetry settings, Defender CPU tuning) are exactly the components that enterprise management, backup sync or security tooling may depend on.
The second limitation is scope. The tool targets Windows 11 heavily, and the related-search data shows people asking about Windows 10 as well, but the README's feature list is written around Windows 11 specifics such as Recall and the Windows 11 hardware requirements bypass. If you are on Windows 10, you should assume some entries do not apply and check the generated script rather than trusting the label.
The third is that the project is a script generator, not a configuration management system. It has no state tracking, so it does not know what a previous run already changed. Applying a second configuration on top of the first is a manual decision, and the README does not describe conflict handling between two configurations.
WinScript against a fixed debloat script
The natural alternative is a curated, opinionated debloat script that ships one fixed set of changes, such as the well-known Chris Titus Tech Windows utility. The difference in approach is who decides. A fixed script encodes one author's judgement about what is safe to remove and disables it all; you run it or you do not. WinScript inverts that: it presents the items and asks you to select, then emits a script containing only your choices.
That inversion has costs. A fixed script has one behaviour to test and one set of known breakages. WinScript has a combinatorial space, and the README does not claim that every combination has been validated. The benefit is that you can leave Edge in place, skip the Defender tuning, and still use the debloat and app-install sections. If your requirement is "give me the standard debloat, I do not want to think about it", a fixed script is the more honest choice. If your requirement is "give me a script that reflects decisions I made and can defend", WinScript's model fits better.
Maintenance, releases and the GPL-3.0 licence
The repository is not archived, and the last push was on 2026-09-13. The release history shows v2.23.0 on 2026-08-17, v2.24.0 on 2026-09-08 and v2.25.0 on 2026-09-13, so the project is shipping on a roughly weekly cadence in the recent window. For a tool whose output touches Windows components, that cadence matters: Microsoft changes what is installed by default and which settings exist, and a generator that stops tracking those changes will produce scripts that silently do less than the labels promise. The upgrade cost is therefore not the download, it is the re-generation and re-review of your configuration after each release.
The licence is GPL-3.0. In practical terms for an internal tool, that is a copyleft licence: if you distribute a modified version, the modified source has to be made available under the same terms. Running the generated script inside your own organisation is not distribution of the tool itself, but if you fork WinScript, rebrand it, and hand the binary to clients, the licence obligations follow. This is a description of the licence text, not legal advice; read LICENSE in the repository and get your own counsel if you plan to redistribute.
The README also notes free code signing provided by SignPath.io with a certificate from the SignPath Foundation. That is a meaningful detail for a tool distributed as a downloadable .exe, because it gives you a signature to check against the release you downloaded. The README does not state which releases are signed, so verify the signature on the specific build you install rather than assuming.
Editorial conclusion
Adopt WinScript if you want to compose a Windows setup script from explicit options and keep the result as a file you can read and re-run. Do not adopt it if you need a maintained-by-a-vendor product with an audited change log, or if you cannot test the script on a machine you are willing to reinstall. Before running anything, verify three things: that the generated .ps1 matches the options you selected, that the code signing note in the README matches the binary you downloaded, and that your config.json imports cleanly with the -i flag on a throwaway machine.
Frequently asked questions
How do I use WinScript?
Run it directly with the irm command from the README, install it with winget install winscript, or launch winscript.exe with the -i flag and a path to a saved config.json. The app then lets you select debloat, privacy, performance and app-install options and generates the script.
Is WinScript safe?
The README lists changes that remove components such as Edge and OneDrive and disable telemetry, and it documents no rollback path. The project also states that free code signing is provided by SignPath.io, so the concrete safety step is to verify the signature on the build you download and to review the generated script before running it.
Is winscript.cc safe?
The README's run-directly command fetches from that domain and pipes the result into iex, which executes whatever is returned. The README does not describe what the endpoint serves, so the only check it supports is reading the response before executing it.
How does WinScript compare with Chris Titus Tech's Windows utility?
The difference is selection versus curation. WinScript's README describes a builder where you choose debloat, privacy, performance and app items and it generates a script, while a fixed debloat script applies one author's predetermined set of changes. The README does not compare the two projects directly.
What alternatives to WinScript exist?
The README does not name any alternative. The closest thing in the README is the class of fixed debloat scripts, which apply a single predetermined set of changes rather than generating one from your selections.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/flick9000-winscript)