Skip to content

Instantly share code, notes, and snippets.

@altrive
Last active November 17, 2023 14:21
  • Star 80 You must be signed in to star a gist
  • Fork 26 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save altrive/72594b8427b2fff16431 to your computer and use it in GitHub Desktop.
Windows 10 toast notification sample
$ErrorActionPreference = "Stop"
$notificationTitle = "Notification: " + [DateTime]::Now.ToShortTimeString()
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null
$template = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText01)
#Convert to .NET type for XML manipuration
$toastXml = [xml] $template.GetXml()
$toastXml.GetElementsByTagName("text").AppendChild($toastXml.CreateTextNode($notificationTitle)) > $null
#Convert back to WinRT type
$xml = New-Object Windows.Data.Xml.Dom.XmlDocument
$xml.LoadXml($toastXml.OuterXml)
$toast = [Windows.UI.Notifications.ToastNotification]::new($xml)
$toast.Tag = "PowerShell"
$toast.Group = "PowerShell"
$toast.ExpirationTime = [DateTimeOffset]::Now.AddMinutes(5)
#$toast.SuppressPopup = $true
$notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier("PowerShell")
$notifier.Show($toast);
@guillaume86
Copy link

Thanks!

@sheldonhull
Copy link

very useful, thanks!

@guillaume86
Copy link

An idea to workaround the "Windows PowerShell cannot subscribe to Windows RT events" error when trying to subscribe to the Activated event of the toast?

@potatoqualitee
Copy link

awesome! thanks

@KnorxThieus
Copy link

How can I avoid the toast will be deleted after 6 seconds no matter what expiration time is setted? :(

@dagrachon
Copy link

nice work, thank you!

@xCONFLiCTiONx
Copy link

This doesn't work for me for some reason. No error either. I have latest version of Windows 1709 16299.125 completely up-to-date.

@steepedteait
Copy link

@mikeyhalla
I have the same issue, this appears to be broken as of 1709

@guillaume86
Copy link

guillaume86 commented Feb 5, 2018

Yes it's broken now, if anyone found an alternative I'm interested :)

Edit: found the solution, use a real AppId, example here: https://gist.github.com/Windos/9aa6a684ac583e0d38a8fa68196bc2dc

explanation here: https://stackoverflow.com/a/46817674/172074

@KirillOsenkov
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment