Overcome Intune Toast Notification Limitations with PowerShell and PSADT

Table of Contents

Share on

PacKit is Here And It’s FREE!

Effective user alerts are a key challenge for IT administrators, especially in enterprise environments where users require timely messages without disruptive pop-ups or excessive emails. One valuable tool for this purpose is Windows Toast notifications.

In this article, we will cover:

  • What toast notifications are and how they function in Windows
  • How to send notifications via Intune
  • Intune Toast Notification limitations, and how to overcome them.

What is a toast notification?

A toast notification is a small, interactive message alert that appears on a user’s screen in Windows. They’re part of the Action Center and provide important updates, reminders, or alerts in a non-intrusive way.

For  IT administrators, toast notifications are a useful way to communicate with users without relying on email or chat applications. Whether a system update, security reminder, or urgent alert, toast notifications ensure messages are delivered effectively.

Default Intune Toast Notifications and Their Limitations

Microsoft Intune does support toast notifications, but with several limitations: 

  • Notifications can only be sent to application-assigned groups.
  • There are no customization options (e.g., images or buttons).
  • They don’t allow standalone or recurring messages, making them restrictive for IT admins needing tailored user communications.

Configuring a Reboot Notification in Intune

The only scenario where Intune can send a toast notification is when you want to display a “reboot required” alert.

If your goal is to simply notify users that a reboot is required and allow users to postpone the restart, follow these steps:
From the Program tab, set the Device Restart behavior to Intune will force a mandatory device restart.

Device restart behavior selection in Intune
  1. On the Assignment page, ensure the targeted group has the End user notification set as Show all toast notifications. Then, under Restart grade period click on Disabled to enable and configure the restart grace behavior.
Assignment page configurations
  1. In the new window, click on Enabled. Additionally, set Yes to Allow users to snooze the restart notification option. 
Intune reboot configuration

For all the settings modify the values according to your needs. 

Here’s what each of them represents:

  • Device restart grace period (minutes)

The amount of time after installation before the machine is automatically rebooted – unless the user decides not to reboot.

  • Select when to display the restart countdown dialog box before the restart occurs (minutes)

Cannot be higher than the device restart grace period.

  • Select the snooze duration (minutes)

The length of time between when the user selects Snooze and when the restart notification appears again.

Example configuration:

A common configuration would be to set the grace period to 1 hour (60 minutes), display countdown for 10 minutes, and snooze duration 20 minutes. This way, the user has 3 available snoozes and a 10-minute final countdown before the mandatory reboot occurs 

Overcoming Intune’s Limitations for Toast Notifications

To send customized toast notifications beyond simple restart alerts, you can use: 

  • PowerShell scripts with the BurntToast module, for easy customization of notifications, including text, images, and buttons. They’re quick to set up and great for one-time alerts or simple reminders.
  • Win32 applications that are built with the PowerShell Application Deployment Toolkit (PSADT) for more advanced needs. This option offers powerful settings like interactive prompts and recurring notifications. By packaging these with the Intune Win32 Content Prep Tool, admins can deploy polished notifications tailored to specific groups.

Method1 | Send Toast Notifications via .ps1 deployed as scripts

The BurntToast PowerShell module allows admins to create toast notifications with custom text, images, and buttons. You can check out its full capability here.

Steps to create a toast notification using PowerShell

Now let’s create a .ps1 script and then integrate it in Intune.

  1. Install the module on the targeted PC.
  2. Call the New-BurntToastNotification cmdlet with the desired parameters. For example:

Install-Module -Name BurntToast -Force -Scope CurrentUser
New-BurntToastNotification -Text “System Update Notification”, “Please reboot your device to stay up to date with the latest device configurations..”
  1. Once your script is ready, log in to the Microsoft Endpoint Manager Admin Center.
    1. Navigate to Devices > Scripts > Add 
    2. Upload the PowerShell script and assign it to your target user or device groups.
Windows PowerShell System Update Notification

For more advanced examples, you can check out this guide.

Method 2 | Send Toast Notifications via Win32 Applications with PSADT

For complex toast notifications (e.g. deploy your application containing various toast notifications and interactions, like recurring alerts, and branding), use PSADT with PSADT Toast Notification Extension.

Example of how to create an interactive Toast Notification using PSADT

Here is an example of a toast notification alongside a box message using the Show-InstallationPrompt cmdlet.

Show-InstallationPrompt -Message "Security Patch Required!" ` -ButtonRightText "OK" ` -Icon Information
Security Patch Required notification

By default, PSADT can send toast notifications and interactive display boxes with the help of the extensions. The visuals are more appealing and offer a better customization and user experience. Let’s see how we can implement that.

Setting Up PSADT Extensions for Intune Toast Notifications

Prerequisites 

Before proceeding, ensure you have:

We are using the latest version of PSADT 3.10.2.

After downloading your PSADT and extensions, extract the content and place it into the correct folder. 

Here is how your PSADT folder structure should look like:

PSADT folder structure

Next, edit the AppDeployToolkitExtensions.ps1 file and add the following lines.

Make sure you maintain the order when declaring the extension path.

## Variables: Extensions to load
$ExtensionToLoad = @()

## Add extensions path individually. 
$ExtensionToLoad += [PSCustomObject]@{
	Path   = "PSADT.VolatilePaths"
	Script = "VolatilePathsExtension.ps1"
}
$ExtensionToLoad += [PSCustomObject]@{
	Path   = "PSADT.DataExtraction"
	Script = "DataExtractionExtension.ps1"
}
$ExtensionToLoad += [PSCustomObject]@{
	Path   = "PSADT.RunAsActiveUser"
	Script = "RunAsActiveUserExtension.ps1"
}
$ExtensionToLoad += [PSCustomObject]@{
	Path   = "PSADT.ToastNotification"
	Script = "ToastNotificationExtension.ps1"
}


## Loading extensions
foreach ($Extension in $ExtensionToLoad) {
	$ExtensionPath = $null
	if ($Extension.Path) {
		[IO.FileInfo]$ExtensionPath = Join-Path -Path $scriptRoot -ChildPath $Extension.Path | Join-Path -ChildPath $Extension.Script
	}
	else {
		[IO.FileInfo]$ExtensionPath = Join-Path -Path $scriptRoot -ChildPath $Extension.Script
	}
	if ($ExtensionPath.Exists) {
		try {
			. $ExtensionPath
		}
		catch {
			Write-Log -Message "An error occurred while trying to load the extension file [$($ExtensionPath)].`r`n$(Resolve-Error)" -Severity 3 -Source $appDeployToolkitExtName
		}
	}
	else {
		Write-Log -Message "Unable to locate the extension file [$($ExtensionPath)]." -Severity 2 -Source $appDeployToolkitExtName
	}
}

Here is the modified file of AppDeployToolkitExtensions.ps1

Intune application deployment via system context does not interact with the logged-in user, as the SCCM does.

To get our Toast Notifications to work correctly, we use ServiceUi.exe

Check out our ServiceUI guide for instructions. After that, download the .exe and store it in the toolkit folder.

ServiceUI EXE in toolkit folder

If you want to brand your toast notification with company logo banners and other graphic materials, you can modify the Media folder. Make sure you respect the format and guidelines mentioned in the official PSADT.ToastNotification Extension.

Finalizing Deployment in Intune

The next step for any Intune deployment is to convert your package into an .intunewin file

To automatically convert PSADT-wrapped packages to .intunewin, use PacKit powered by Advanced Installer.

Use it for free here.

Once you have the .intunewin file, you can add the application in Intune as a Win32 application.

This step is crucial for correct toast display behavior via Intune deployments. 

On the program page, both for install and uninstall commands, make sure you use the serviceui.exe as an executable for the installation.

ServiceUI.exe -Process:explorer.exe Deploy-Application.exe -DeploymentType "Install"

ServiceUI.exe -Process:explorer.exe Deploy-Application.exe -DeploymentType "UnInstall"

Here is an example of a toast notification display using the PSADT extension.

PSADT Toast Notification

Conclusion

While Intune’s built-in toast notifications are limited, IT admins can create custom, interactive notifications using PowerShell and PSADT. These methods provide better branding, richer visuals, and enhanced interactivity, ensuring that users receive important messages in an effective and user-friendly way.

By leveraging BurntToast for simple alerts or PSADT for advanced notifications, IT teams can ensure clear communication while maintaining a professional, polished experience.

If you’re looking for a tool to help bridge the gap between application packaging and deployment, check out PacKit.

Here are some of its post-packaging configuration and deployment capabilities:

  • PSADT Wrapper
  • IntuneWin Auto-Generator
  • App Catalog – Winget
  • Command Line Finder
  • Intune Detection Rules
  • Intune OS Requirements

Try it for free here

PacKit it's free and It’s here

Share on

Picture of Radu Popescu

Radu Popescu

Technical Writer at Advanced Installer, Technical Engineer on various enterprise client projects. Experienced in Software Packaging, SCCM infrastructure and System Administrating. Tech enthusiast and music producer in his spare time.

Subscribe and receive a digital copy of our article

Popular Articles