Pushover makes it easy to get real-time notifications on your Android device, iPhone, iPad, and Desktop. Below is a Powershell function utilizing the Invoke-RestMethod Powershell cmdlet to make it easier to send notifications from Powershell scripts.

function Send-PushoverNotification() {
    <#
    .SYNOPSIS
    Pushover makes it easy to get real-time notifications on your Android device, iPhone, iPad, and Desktop. 

    .DESCRIPTION
    Pushover uses a simple REST API to receive messages from your application and send them to devices running our device clients.
    
    .PARAMETER Token
    (required) - your application's API token
    
    .PARAMETER User
    (required) - the user/group key (not e-mail address) of your user (or you), viewable when logged into the pushover dashboard
    
    .PARAMETER message
    (required) - Your message
    
    .PARAMETER priority
    Send as -1 to always send as a quiet notification, 1 to display as high-priority and bypass the user's quiet hours, or 2 to also require confirmation from the user
    
    .PARAMETER device
    Your user's device name to send the message directly to that device, rather than all of the user's devices
    
    .PARAMETER title
    Your message's title, otherwise your app's name is used
    
    .PARAMETER url
    A supplementary URL to show with your message
    
    .PARAMETER url_title
    A title for your supplementary URL, otherwise just the URL is shown
    
    .PARAMETER timestamp
    A Unix timestamp of your message's date and time to display to the user, rather than the time your message is received by our API
    
    .PARAMETER sound
    The name of one of the sounds supported by device clients to override the user's default sound choice
    
    .EXAMPLE
    Send-PushoverNotification -token 'xxxxxxxxxxxxxx' -user 'xxxxxxxxxxxxxxxx' -message 'regular message goes here'

    .EXAMPLE
    Send-PushoverNotification -token 'xxxxxxxxxxxxxx' -user 'xxxxxxxxxxxxxxxx' -message 'important message' -priority 1 

    .EXAMPLE
    Send-PushoverNotification -token 'xxxxxxxxxxxxxx' -user 'xxxxxxxxxxxxxxxx' -message 'emergency message' -priority 2 -url 'http://site.contoso.com'  
    
    .LINK
    Pushover API Documentation: https://pushover.net/api

    .LINK
    Invoke-RestMethod Technet Article: http://technet.microsoft.com/en-us/library/hh849971.aspx
    #>

    param(
        [Parameter(Mandatory=$True)][string]$token,
        [Parameter(Mandatory=$True)][string]$user,
        [Parameter(Mandatory=$True)][string]$message,
        [Parameter(Mandatory=$False)][int]$priority = '0',
        [Parameter(Mandatory=$False)][string]$device,
        [Parameter(Mandatory=$False)][string]$title,
        [Parameter(Mandatory=$False)][string]$url,
        [Parameter(Mandatory=$False)][string]$url_title,
        [Parameter(Mandatory=$False)][string]$timestamp,
        [Parameter(Mandatory=$False)][string]$sound
    )
  
    # build the notification    
    $notification = @{}
    $psboundparameters.GetEnumerator() | % { 
        $notification.Add($($_.key), $($_.value))
    }
    
    # send the notification
    $result = Invoke-RestMethod -Uri 'https://api.pushover.net/1/messages.json' -Body $notification -Method Post -ErrorAction SilentlyContinue
    
    return $result
}