PowerShell Application Deployment Toolkit (PSADT) Course Content
Goal: Understand the "Why" and "How" of the toolkit's architecture.
- Introduction to the Framework: Why use a wrapper vs. a raw MSI?
- Anatomy of the Toolkit: Understanding the new folder structure (Assets, Config, AppDeployToolkit)
- The Deploy-Application.ps1 Script: Breaking down the 6 execution phases:
- Pre-Installation: Closing apps, checking disk space, and blocking execution
- Installation: Running the primary installer
- Post-Installation: Registry tweaks, cleanup, and configuration
- Uninstallation Phases: Handling the removal lifecycle
- v3 to v4 Migration: Leveraging the compatibility layer for older scripts
Goal: Building a branded, non-intrusive installation experience.
- Customizing the UI: Changing banners, logos, and accent colors for company branding
- User Prompts: Mastering Show-ADTInstallationWelcome (the "Close apps to continue" dialog)
- Deferrals: Configuring how many times a user can "postpone" an update before it's forced
- Interactive vs. Silent Modes: Using -DeployMode (Interactive, Silent, NonInteractive)
- Progress Indicators: Providing visual feedback during long background installations
Goal: Using the built-in library to solve complex deployment headaches.
- The Core Library: Deep dive into functions like Execute-MSI, Execute-Process, and Set-RegistryKey
- Environment Management: Handling user vs. system context and working with Active Setup
- File & Folder Operations: Advanced usage of Copy-File, Remove-File, and Get-FileVersion
- Dependency Management: Installing prerequisites before the main application
- Ini File & Environment Variables: Using the new v4 functions for granular system configuration
Goal: Deploying your packages through management systems.
- The Intune Lifecycle: Wrapping PSADT as a .intunewin file and setting detection rules
- ConfigMgr (SCCM) Integration: Standardizing exit codes for "Soft" and "Hard" reboots
- Smart Logging: Configuring centralized logging paths (e.g., C:\Windows\Logs\Software) for helpdesk troubleshooting
- Exit Codes & Error Handling: Customizing return codes so the deployment system knows exactly why a script failed
Goal: Writing "bulletproof" deployment code.
- Digital Signing: Understanding why v4 code must be signed for modern security policies
- Parallel Execution: Using PowerShell 7 features for faster pre-install checks
- Debugging Techniques: Using the /Debug switch and reading logs with CMTrace
- Zero-Touch Deployments: Creating fully automated "Autopilot-ready" packages