PowerShell/docs/show-notification.md
2024-05-19 10:25:56 +02:00

100 lines
2.7 KiB
Markdown

Script: *show-notification.ps1*
========================
This PowerShell script shows a toast-message notification for the Windows 10 Notification Center.
Parameters
----------
```powershell
PS> ./show-notification.ps1 [[-text] <String>] [[-title] <String>] [[-Duration] <Int32>] [<CommonParameters>]
-text <String>
Specifies the text to show ('Hello World' by default)
Required? false
Position? 1
Default value Hello World
Accept pipeline input? false
Accept wildcard characters? false
-title <String>
Specifies the title to show ('NOTE' by default)
Required? false
Position? 2
Default value NOTE
Accept pipeline input? false
Accept wildcard characters? false
-Duration <Int32>
Specifies the view duration in milliseconds (5000 by default)
Required? false
Position? 3
Default value 5000
Accept pipeline input? false
Accept wildcard characters? false
[<CommonParameters>]
This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction,
WarningVariable, OutBuffer, PipelineVariable, and OutVariable.
```
Example
-------
```powershell
PS> ./show-notification
```
Notes
-----
Author: Markus Fleschutz | License: CC0
Related Links
-------------
https://github.com/fleschutz/PowerShell
Script Content
--------------
```powershell
<#
.SYNOPSIS
Shows a notification
.DESCRIPTION
This PowerShell script shows a toast-message notification for the Windows 10 Notification Center.
.PARAMETER text
Specifies the text to show ('Hello World' by default)
.PARAMETER title
Specifies the title to show ('NOTE' by default)
.PARAMETER duration
Specifies the view duration in milliseconds (5000 by default)
.EXAMPLE
PS> ./show-notification
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
param([string]$text = "Hello World", [string]$title = "NOTE", [int]$Duration = 5000)
try {
Add-Type -AssemblyName System.Windows.Forms
$global:balloon = New-Object System.Windows.Forms.NotifyIcon
$path = (Get-Process -id $pid).Path
$balloon.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
$balloon.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Info
$balloon.BalloonTipText = $text
$balloon.BalloonTipTitle = $title
$balloon.Visible = $true
$balloon.ShowBalloonTip($Duration)
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}
```
*(generated by convert-ps2md.ps1 using the comment-based help of show-notification.ps1 as of 05/19/2024 10:25:26)*