- PowerShell 99.9%
Introduces a `DefaultProfileOnly` parameter to `Remove-BloatwareApps` and `Invoke-SystemDebloat` functions. This allows the debloat process to target only the machine-wide settings and the default user profile (for future users) while explicitly skipping modifications to the current user's AppX packages or HKCU registry settings. This provides more granular control when running debloat scripts in automated environments where modifying the active user session is undesirable. |
||
|---|---|---|
| .github | ||
| .vscode | ||
| config | ||
| modules | ||
| tests | ||
| tools | ||
| .codex | ||
| AGENTS.md | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
| start.ps1 | ||
TechWizard
TechWizard is the Reinitialized.net TechTools launcher for Windows 11 workstation provisioning, repair, cleanup, profile migration, RMM agent maintenance, and OneDrive duplicate resolution.
The single entry point is start.ps1. It can run from a local checkout or be
launched directly from Forgejo with PowerShell.
Quick Start From Forgejo
Open Windows Terminal or PowerShell as Administrator, then run:
$RepoBaseUrl = 'https://git.ds.reinitialized.net/reinitialized.net/TechWizard/raw/branch/indev'; & ([scriptblock]::Create((irm "$RepoBaseUrl/start.ps1"))) -RepoBaseUrl $RepoBaseUrl
This downloads start.ps1 from Forgejo, opens the interactive tool menu, and
loads the selected tool, modules, and config files from the same branch.
To launch a specific tool without the menu:
$RepoBaseUrl = 'https://git.ds.reinitialized.net/reinitialized.net/TechWizard/raw/branch/indev'
& ([scriptblock]::Create((irm "$RepoBaseUrl/start.ps1"))) `
-RepoBaseUrl $RepoBaseUrl `
-Tool Repair-Workstation
To run unattended and suppress confirmation prompts, use -AcceptAll with a
specific tool:
$RepoBaseUrl = 'https://git.ds.reinitialized.net/reinitialized.net/TechWizard/raw/branch/indev'
& ([scriptblock]::Create((irm "$RepoBaseUrl/start.ps1"))) `
-RepoBaseUrl $RepoBaseUrl `
-Tool Prepare-System `
-AcceptAll
To run only a specific phase, pass -ToolArgs:
$RepoBaseUrl = 'https://git.ds.reinitialized.net/reinitialized.net/TechWizard/raw/branch/indev'
& ([scriptblock]::Create((irm "$RepoBaseUrl/start.ps1"))) `
-RepoBaseUrl $RepoBaseUrl `
-Tool Repair-Workstation `
-ToolArgs @{ Phase = 'Cleanup'; Force = $true }
Available Tools
| Tool | Purpose |
|---|---|
Repair-Workstation |
Runs Windows image repair, OEM/Windows updates, profile repair, cleanup, and RMM agent repair. |
Factory-Reset |
Resets a workstation to the MSP baseline, preserving RMM while removing non-whitelisted apps and stale profiles. |
Prepare-System |
Runs provisioning, debloat/privacy hardening, required app install, UI defaults, domain/Entra join, and RMM onboarding. |
SolveOnedriveDuplicates |
Scans and resolves OneDrive duplicate, conflict, and near-duplicate files with backups. |
Restore-OneDriveBackup |
Reverts OneDrive duplicate-resolution operations from a timestamped backup folder. |
Migrate-UserProfile |
Uses USMT hard-link migration to move one local Windows profile into a fresh local account. |
Enable-WebSignIn |
Enables the Web Sign-In credential provider for Entra-joined Windows 11 workstations. |
Common Examples
Run workstation repair with all default phases:
$RepoBaseUrl = 'https://git.ds.reinitialized.net/reinitialized.net/TechWizard/raw/branch/indev'
& ([scriptblock]::Create((irm "$RepoBaseUrl/start.ps1"))) `
-RepoBaseUrl $RepoBaseUrl `
-Tool Repair-Workstation
Run only updates and cleanup:
$RepoBaseUrl = 'https://git.ds.reinitialized.net/reinitialized.net/TechWizard/raw/branch/indev'
& ([scriptblock]::Create((irm "$RepoBaseUrl/start.ps1"))) `
-RepoBaseUrl $RepoBaseUrl `
-Tool Repair-Workstation `
-ToolArgs @{ Phase = @('Updates', 'Cleanup') }
Prepare a workstation, including debloat and UI standardization:
$RepoBaseUrl = 'https://git.ds.reinitialized.net/reinitialized.net/TechWizard/raw/branch/indev'
& ([scriptblock]::Create((irm "$RepoBaseUrl/start.ps1"))) `
-RepoBaseUrl $RepoBaseUrl `
-Tool Prepare-System `
-ToolArgs @{ Phase = @('Debloat', 'Apps', 'UI') }
Local Checkout
git clone https://git.ds.reinitialized.net/reinitialized.net/TechWizard.git
cd TechWizard
pwsh -ExecutionPolicy Bypass -File .\start.ps1
Launch a specific local tool:
pwsh -ExecutionPolicy Bypass -File .\start.ps1 -Tool Repair-Workstation
Requirements
- Run from an elevated PowerShell session.
- Target runtime is PowerShell 7.4+ LTS. On Windows,
start.ps1checks this and attempts to install or relaunch under the required version when needed. - Target workstations must be able to reach
https://git.ds.reinitialized.net/reinitialized.net/TechWizard/raw/branch/indev. - If the Forgejo repository is private, use a local checkout or expose a read-only raw URL reachable by the workstation before launching remotely.
Branches And Overrides
The examples above use the indev branch. To launch another branch, change the
branch segment in RepoBaseUrl:
$RepoBaseUrl = 'https://git.ds.reinitialized.net/reinitialized.net/TechWizard/raw/branch/main'
& ([scriptblock]::Create((irm "$RepoBaseUrl/start.ps1"))) -RepoBaseUrl $RepoBaseUrl
-RepoBaseUrl is intentionally included in the remote commands so every
downloaded script, module, and config file comes from the same Forgejo branch.
Logs And Resume
TechWizard writes logs, downloads, backups, and reboot resume state under
C:\TechWizard\. Tools that require a reboot save resume state and relaunch
through start.ps1 after Windows restarts.