Pick the protections you want in your script.
Profiles blend severity and compatibility. Relaxed focuses on safer changes. Strict turns on more aggressive crypto and legacy protocol controls. Custom lets you hand-pick every item.
Relaxed applies all critical items plus medium and low items that rarely break modern systems. Strict adds stronger crypto and session key requirements that may affect very old domains or devices.
Tip: For standalone laptops and small offices, Relaxed is usually the safest first pass. Use Strict in homelabs and well-managed domains where you are prepared to troubleshoot legacy systems.
How to use: Save the script, open PowerShell as Administrator, and run
Invoke-Win11Baseline to apply these settings. To reverse registry-based settings, run
Invoke-Win11BaselineRollback. Manual checklist items must be applied and reverted by hand.
Reporting: Each run writes a small JSON file that records the machine name, OS version, timestamp, and the list of selected controls before and after changes. Use this alongside your own configuration backups for audit and rollback planning.
Before you run the script
- Use this only on Windows systems you own or are explicitly allowed to manage.
- Create a backup, restore point, or golden image before applying changes.
- Generate the script and skim every section, especially Strict profile items.
- Comment out any blocks that conflict with your domain, devices, or policies.
- Test on a non-critical machine first, from an elevated PowerShell window.
Good next steps
- Save your adjusted script into version control or a secured admin share.
- Document which baseline controls you applied and to which machines.
- Revisit this baseline as your hardware, domain settings, and risk profile evolve.
- Coordinate with your security or IT lead before rolling out to production fleets.