Ulises Paiz Field Notes Résumé Contact
Field Notes · · 1 min read

From 4-hour deploys to one click: a PSADT story

PowerShellPSADTAutomation

When I joined the enterprise infrastructure team, application deployments were a ritual. Someone would block out an afternoon, RDP into a jump box, babysit an installer through a dozen prompts, then repeat the whole thing for the next package. A "simple" rollout could eat four hours and still come back with failures nobody could reproduce.

That's the kind of problem automation was made for.

The goal

One click. Silent. Repeatable. Logged. If a deployment failed, I wanted it to fail the same way every time so we could actually fix the root cause instead of chasing ghosts.

Why PSADT

The PowerShell App Deployment Toolkit gives you a consistent wrapper around any installer: pre-flight checks, user messaging, install, post-install config, and clean logging. Instead of bespoke scripts per app, every package followed the same skeleton.

# A deployment becomes declarative, not procedural
Show-InstallationWelcome -CloseApps "outlook,winword" -CheckDiskSpace -PersistPrompt
Execute-MSI -Action Install -Path "$dirFiles\App.msi" -Parameters "/qn"
Set-RegistryKey -Key "HKLM\SOFTWARE\Org\App" -Name "Configured" -Value 1 -Type DWord

The win wasn't any single command — it was that every package looked the same. New technicians could read one and understand all of them.

The results

The lesson

Automation's real payoff isn't speed. It's removing the human variable. Once a process is deterministic, every failure is a bug you can fix once instead of a surprise you absorb forever.

If you read the logs, you already know this. Build the boring thing. Future-you will thank you.