Workstation Management
Windows Workstation Deployment
Standardized procedure for deploying and configuring Windows 10/11 workstations using the PNWC DeployWorkstation script.
Overview
PNWC uses a PowerShell-based deployment script (DeployWorkstation.ps1) to standardize new and rebuilt Windows workstations. This ensures consistent software installs, privacy hardening, and configuration baseline across all client machines.
Prerequisites
- Windows 10 22H2+ or Windows 11 23H2+
- Internet connection
- Administrator account
- PowerShell execution policy set to
RemoteSigned
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
DeployWorkstation Script
The script handles:
- Windows Update (all pending updates)
- Winget package installs (see software list below)
- Bloatware removal
- Privacy tweaks (telemetry, advertising ID, Cortana)
- Taskbar and Start Menu cleanup
- Default browser configuration
- Time zone and regional settings
Running the Script
# Download and run (run as Administrator)
irm https://raw.githubusercontent.com/PNW-Computers/scripts/main/DeployWorkstation.ps1 | iex
Or from a local copy:
.\DeployWorkstation.ps1 -ClientName "Acme Corp" -Profile "SmallBusiness"
Standard Software Stack
| Category | Application | Install Method |
|---|---|---|
| Browser | Firefox ESR | winget |
| Office | Microsoft 365 | winget / ODT |
| Adobe Acrobat Reader | winget | |
| AV | Malwarebytes | winget |
| Remote | Splashtop Streamer | manual |
| Backup | client-specific | manual |
Post-Deployment Checklist
- Run Windows Update โ reboot until clean
- Join domain or configure workgroup
- Install client-specific line-of-business software
- Configure email client
- Test printer connectivity
- Verify backup agent installed and registering
- Document asset tag and serial number in client record
- Label machine and deliver to end user
Profile Modes
The script supports deployment profiles to tailor installs by client type:
| Profile | Description |
|---|---|
Residential |
Basic home user setup, consumer apps |
SmallBusiness |
Business apps, stricter privacy, RMM agent |
Hardened |
Full CIS baseline, no bloatware, no consumer telemetry |
Troubleshooting
Winget Fails on First Run
On a fresh Windows install, winget may need the App Installer package updated first:
Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
Script Blocked by Execution Policy
# Check current policy
Get-ExecutionPolicy -List
# Override for session
powershell.exe -ExecutionPolicy Bypass -File .\DeployWorkstation.ps1