One stop shop for common Windows 11 tasks
  • PowerShell 99.9%
Find a file
reinitialized efd6bceebb
feat(debloat): add DefaultProfileOnly switch to targeting logic
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.
2026-05-15 16:56:30 -05:00
.github Add RMM Agent installation and repair phases to system preparation scripts 2026-02-12 19:11:12 -06:00
.vscode chore: add project documentation and update VS Code settings 2026-05-01 15:11:57 -05:00
config refactor: improve reboot resume logic and add temporary admin relaunch 2026-05-05 09:18:35 -05:00
modules feat(debloat): add DefaultProfileOnly switch to targeting logic 2026-05-15 16:56:30 -05:00
tests feat(debloat): add DefaultProfileOnly switch to targeting logic 2026-05-15 16:56:30 -05:00
tools feat(debloat): add DefaultProfileOnly switch to targeting logic 2026-05-15 16:56:30 -05:00
.codex chore: add project documentation and update VS Code settings 2026-05-01 15:11:57 -05:00
AGENTS.md chore: add project documentation and update VS Code settings 2026-05-01 15:11:57 -05:00
flake.lock extensive improvements to SolveOnedriveDuplicates 2026-02-11 21:08:34 -06:00
flake.nix extensive improvements to SolveOnedriveDuplicates 2026-02-11 21:08:34 -06:00
README.md feat: add configuration management and OneDrive recovery tools 2026-05-15 15:42:19 -05:00
start.ps1 feat(debloat): add DefaultProfileOnly switch to targeting logic 2026-05-15 16:56:30 -05:00

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.ps1 checks 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.