36 lines
1.3 KiB
PowerShell
36 lines
1.3 KiB
PowerShell
function Show-Notification {
|
|
[cmdletbinding()]
|
|
Param (
|
|
[string]
|
|
$ToastTitle,
|
|
[string]
|
|
[parameter(ValueFromPipeline)]
|
|
$ToastText
|
|
)
|
|
|
|
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null
|
|
$Template = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText02)
|
|
|
|
$RawXml = [xml] $Template.GetXml()
|
|
($RawXml.toast.visual.binding.text | Where-Object {$_.id -eq "1"}).AppendChild($RawXml.CreateTextNode($ToastTitle)) > $null
|
|
($RawXml.toast.visual.binding.text | Where-Object {$_.id -eq "2"}).AppendChild($RawXml.CreateTextNode($ToastText)) > $null
|
|
|
|
$SerializedXml = New-Object Windows.Data.Xml.Dom.XmlDocument
|
|
$SerializedXml.LoadXml($RawXml.OuterXml)
|
|
|
|
$Toast = [Windows.UI.Notifications.ToastNotification]::new($SerializedXml)
|
|
$Toast.Tag = "PowerShell"
|
|
$Toast.Group = "PowerShell"
|
|
$Toast.ExpirationTime = [DateTimeOffset]::Now.AddMinutes(1)
|
|
|
|
$Notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier("Password Manager")
|
|
$Notifier.Show($Toast);
|
|
}
|
|
|
|
param(
|
|
[Parameter(Mandatory)]
|
|
[String]$toastTitle,
|
|
[String]$toastText
|
|
)
|
|
|
|
Show-Notification -ToastTitle "$toastTitle" -ToastText "$toastText" |