Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,5 @@ dist

# VSCode History
.history/

.worktrees/
2 changes: 1 addition & 1 deletion blog/2023-10-30-new-website.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: PSADT has a new home
authors: [sintaxasn]
tags: [psappdeploytoolkit, powershell, website]
description: This is our 1st post on the new PSADT website!
description: PSAppDeployToolkit gets a fresh new website with improved documentation flow and a comprehensive reference guide.
---

## New Website
Expand Down
2 changes: 1 addition & 1 deletion blog/2023-12-06-qna-webinar.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: PSADT and Patch My PC's Stewardship - Q&A Webinar
authors: [sintaxasn]
tags: [psappdeploytoolkit, patchmypc, webinar]
description: The PSADT & PMPC Q&A webinar is now live!
description: Watch our Q&A session discussing the PSAppDeployToolkit and Patch My PC partnership, and what it means for the future of PSADT.
---

## Webinar
Expand Down
2 changes: 1 addition & 1 deletion blog/2024-03-28-psadt-3.10.0-and-psadt-101-webinar.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: v3.10 release & PSADT 101 webinar
authors: [sintaxasn]
tags: [psappdeploytoolkit, powershell, release, webinar]
description: This is our 1st post on the new PSADT website
description: Introducing PSADT 3.10.0 with Edge extension management, file caching, high DPI support, and 20+ improvements. Plus a 101 webinar!
---

## PSADT 3.10.0
Expand Down
2 changes: 1 addition & 1 deletion blog/2024-05-03-psadt-3.10.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: v3.10.1 release
authors: [sintaxasn]
tags: [psappdeploytoolkit, powershell, release, webinar]
description: Bugfix release!
description: PSADT 3.10.1 addresses several bugs from the previous release, with improved documentation and updated examples.
---

## 3.10.1 details
Expand Down
4 changes: 2 additions & 2 deletions blog/2024-12-05-psadt-4.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: v4.0 now available
authors: [sintaxasn]
tags: [psappdeploytoolkit, powershell, release, webinar]
description: Bugfix release!
description: The biggest PSADT release ever is here! v4.0 brings major improvements with backwards compatibility and seamless migration tools.
---

## PSADT 4.0 details
Expand All @@ -15,6 +15,6 @@ This is by far, the biggest release we've ever done. Quite a lot has changed, bu

You can read up on **[what's new and why you should upgrade to PSADT v4](https://patchmypc.com/psadt-v4)** but there is just **SO ... MUCH ... NEW!!!**

And you can find the latest release You can download the latest version at the link below.
You can download the latest version at the link below.

**[PSAppDeployToolkit v4](https://github.com/psappdeploytoolkit/psappdeploytoolkit/releases)**
69 changes: 69 additions & 0 deletions blog/2025-08-07-psadt-4.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: PSADT v4.1.0 Released
authors: [sintaxasn]
tags: [psappdeploytoolkit, powershell, release]
description: PSADT v4.1.0 brings a major security rearchitecture enabling native SYSTEM-to-user UI without ServiceUI, full Fluent/Classic UI parity, powerful new process execution capabilities, and Group Policy support.
---

## PSAppDeployToolkit v4.1.0 is here

We are very excited to announce the release of PSAppDeployToolkit v4.1.0! This is a landmark release that fundamentally changes how PSADT handles user interaction during SYSTEM deployments and introduces a wealth of new capabilities.

<!-- truncate -->

### Native UI from SYSTEM deployments - no more ServiceUI

The headline feature of v4.1.0 is the completely rearchitected client/server model for user interaction. Up until now, displaying any UI when deploying as SYSTEM with Intune (or any endpoint management tool) required ServiceUI.

**That is no longer the case.**

We strongly advise you stop using ServiceUI as soon as possible. It works by manipulating system security tokens in a way that could allow malicious actors to escalate privileges or bypass security controls. Our new approach leverages the Windows security model and separates user interactions onto a process running in the user's session - we never perform any user interaction within the SYSTEM context. This also removes the requirement for the 'Allow users to view and interact with the program installation' checkbox in Configuration Manager deployments.

### Full Fluent and Classic UI parity

There is now **full feature parity** between the Fluent and Classic User Interfaces, including:

- Deferral Deadline and Countdown Timer on Close Apps Dialog
- Ability to prevent the Restart Dialog from being dismissed once a certain countdown point is reached
- Ability to allow users to move dialogs and set initial dialog placement
- PowerShell ISE compatibility

The Fluent UI has also gained exclusive new features: input box prompts, formattable text (bold, italic, accent) with URL hyperlinks in dialog messages, progress bar percentage control, and separate Light/Dark mode icons.

### Powerful new process execution capabilities

The security rearchitecture required a full rewrite of our process execution code, which enabled new capabilities for both `Start-ADTProcess` and `Start-ADTProcessAsUser`:

- **`-UseUnelevatedToken`** - Force a process to run without elevation, for Windows 11 Administrator Protection
- **`-WaitForChildProcesses`** - Wait for all child processes to end
- **`-KillChildProcessesWithParent`** - Close all child processes once the main process ends
- **`-Timeout`** with `-TimeoutAction` and `-NoTerminateOnTimeout` for timeout control
- **`-ExpandEnvironmentVariables`** - Allow `%AppData%` expansion when running as a user
- **`-StreamEncoding`** - Useful for apps like Winget that use UTF-8

### Group Policy support

It's now possible to set PSADT configuration settings via Group Policy using the included ADMX templates, overriding any settings in `config.psd1`. This allows you to change, update, or enforce settings across an entire organization.

### New functions

- Environment variable management: `Get/Set/Remove-ADTEnvironmentVariable`
- INI file management: `Get/Set/Remove-ADTIniSection` and `Get/Set/Remove-ADTIniValue`
- `Start-ADTMsiProcessAsUser` for user-context MSI installs via SYSTEM
- `Test-ADTEspActive` for Enrollment Status Page detection

### Important changes

- `DeployMode` now defaults to `Auto`, which intelligently switches to silent when appropriate
- Default `DeferExitCode` changed from `60012` to `1602` (natively recognized by ConfigMgr and Intune)
- UI functions no longer minimize windows by default

For full details, see the [release notes](/docs/getting-started/release-notes) and the [upgrade guidance](/docs/getting-started/upgrade-guidance-4x-to-v41).

### Download

**[PSAppDeployToolkit v4.1.0](https://github.com/psappdeploytoolkit/psappdeploytoolkit/releases/tag/4.1.0)**

### Rapid follow-up patches

Following the v4.1.0 release, we shipped several rapid patch releases (v4.1.1 through v4.1.5) addressing early feedback and edge cases. We recommend updating to the [latest release](https://github.com/psappdeploytoolkit/psappdeploytoolkit/releases/latest) for the best experience.
55 changes: 55 additions & 0 deletions blog/2025-10-17-psadt-4.1.6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: PSADT v4.1.6 Released
authors: [sintaxasn]
tags: [psappdeploytoolkit, powershell, release]
description: PSADT v4.1.6 delivers a significant collection of fixes across Copy-ADTFile, process execution, dialog rendering, and more, plus new URL formatting support in dialog strings.
---

## PSAppDeployToolkit v4.1.6

PSAppDeployToolkit v4.1.6 is now available. This is a substantial bugfix and improvement release that addresses many issues reported by the community since v4.1.0.

<!-- truncate -->

### Highlights

#### URL formatting in dialog strings

You can now format URLs with descriptive text in your dialog messages using tags:

```
[url=https://contoso.com/security]Click here for the IT Security Policy[/url]
```

Nested tags for bold, italic, and accent formatting are also now supported.

#### Fluent UI software rendering

Fluent Dialogs now use software rendering mode, which resolves issues with remote assistance and control tools such as ScreenConnect and other similar products.

#### EPM compatibility

Fixed an issue where the UI could fail to display when `explorer.exe` is being elevated by an Endpoint Privilege Management (EPM) rule using BeyondTrust EPM, Microsoft EPM, or other EPM tools.

### Key fixes in this release

- **Copy-ADTFile**: All known issues resolved
- **Start-ADTProcessAsUser**: Now works with the caller's username even without an active session
- **Start-ADTProcess**: Fixed `-ArgumentList` parameter incorrectly resolving `$adtSession` property to `True`
- **Start-ADTMsiProcess**: Fixed failure to uninstall an installed MSI
- **Test-ADTOobeCompleted / Test-ADTEspActive**: Fixed not working
- **Remove-ADTEnvironmentVariable**: Fixed only removing the value instead of the variable itself
- **New-ADTZipFile**: Fixed not working
- **Get-ADTShortcut**: Fixed not working for URL shortcuts
- **v3 compatibility**: Fixed passing parameters from the command-line to a v3 compatibility template
- **Classic Dialogs**: Tags are now correctly stripped from dialog strings (formatting only works in Fluent UI)

For the full list of changes, see the [release notes](/docs/getting-started/release-notes).

### v4.1.7 hotfix

A hotfix release (v4.1.7) was published on 2025-10-21 to resolve an issue where v4.1.6 did not work in PowerShell 7. If you are using PowerShell 7, please ensure you update to v4.1.7 or later.

### Download

**[PSAppDeployToolkit v4.1.7](https://github.com/psappdeploytoolkit/psappdeploytoolkit/releases/tag/4.1.7)**
68 changes: 68 additions & 0 deletions blog/2026-01-14-psadt-4.1.8.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
title: PSADT v4.1.8 Released
authors: [sintaxasn]
tags: [psappdeploytoolkit, powershell, release]
description: PSADT v4.1.8 strengthens MSI/MSP deployment reliability, improves process and handle safety, enhances dialog behavior, and hardens serialization and exception reporting.
---

## PSAppDeployToolkit v4.1.8

PSAppDeployToolkit v4.1.8 is now available. This is a comprehensive release that touches MSI/MSP deployment, process management, dialog behavior, and internal reliability.

<!-- truncate -->

### MSI and MSP improvements

This release brings significant improvements to Windows Installer handling:

- **Automatic MSP logging** within `Start-ADTMsiProcess` - patch installations now generate proper log files
- **Multi-product-code MSP support** - patches that target multiple product codes are now handled correctly
- **Harmonized parameters** - `Start-ADTMsiProcess` and `Start-ADTMspProcess` parameters are now fully aligned, with logging parameters shared between them
- **PassThru improvements** - `Start-ADTMsiProcess` now returns a `-PassThru` result even when an MSI isn't installed on the system
- **Version handling** - Fixed handling of MSI files that lack a `ProductVersion` property
- **Zero-Config reliability** - Fixed Zero-Config MSI code to properly use the `FileName` column

### Process and handle safety

Significant work has gone into making process and handle management more robust:

- Permissions checks now occur earlier in `ProcessManager.CreateProcessUsingToken()`
- Child processes no longer inherit duplicated handles
- Fixed `SafeThreadHandle` implementation where the handle was not releasing
- Fixed `SafeHandle` disposal for processes we don't own
- Fixed `hStdInput` handle to use `INVALID_HANDLE_VALUE` when not in use
- `FileHandleManager.GetOpenHandles()` now uses ordinal string comparison and only tests disk file handles
- Improved exception reporting in `ProcessUtilities.GetProcessImageName()` and `GetProcessArgv()`

### Dialog and UI enhancements

- **Automatic repositioning** - Dialogs now automatically reposition when screen resolution changes
- Fixed `Show-ADTInstallationWelcome` infinite dialog loop when processes can't be closed by the user
- Fixed `DialogManager.ShowBalloonTip()` disposal
- Template updated to remove `-Icon` parameter from `Show-ADTInstallationPrompt` (not supported in Fluent UI)

### Other notable fixes

- **Turkish locale** - Fixed case conversion issues with invariant `ToUpper`/`ToLower`
- **Hidden files** - Fixed hidden files/folders not being copied when referenced directly
- **Block-ADTAppExecution** - Fixed to work on `ProcessDefinition` objects
- **ESP detection** - Changed to not require `CloudAssignedTenantId` (supports Windows 365 devices)
- **Network connections** - `Test-ADTNetworkConnection` now includes Wi-Fi connections by default
- **UTF-8 BOM** - Module file encoding standardized to UTF-8 with BOM
- **Copy-ADTContentToCache** - Fixed error on re-run when source and destination are the same
- **Desktop icon cache** - Fixed refresh behavior
- **`/Debug` mode** - Now only works in user-interactive processes

### CI improvements

Build performance has been significantly improved with parallelized code signing and dependency caching. Build time reduced from 23+ minutes to approximately 7 minutes.

### New property

- Added `IsAdmin` property to `RunAsActiveUser` object

For the full list of changes, see the [release notes](/docs/getting-started/release-notes).

### Download

**[PSAppDeployToolkit v4.1.8](https://github.com/psappdeploytoolkit/psappdeploytoolkit/releases/tag/4.1.8)**
Loading
Loading