Workstation Management

Windows Workstation Deployment

Standardized procedure for deploying and configuring Windows 10/11 workstations using the PNWC DeployWorkstation script.

๐Ÿ“… Updated: 2025-04-14 ๐Ÿ‘ค Jon Pienkowski windows deployment powershell

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
PDF 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