Set-CsPushNotificationConfiguration

Modifies an existing collection of push notification configuration settings. The push notification service (Apple Push Notification Service and Microsoft Push Notification Service) provides a way to send notifications about events such as new instant messages or new voice mail to mobile devices such as iPhones and Windows Phones, even if the Skype for Business application on those devices is currently suspended or running in the background. This cmdlet was introduced in the cumulative update for Lync Server 2010: November 2011.

Syntax

Set-CsPushNotificationConfiguration
   [-Tenant <Guid>]
   [-EnableApplePushNotificationService <Boolean>]
   [-EnableMicrosoftPushNotificationService <Boolean>]
   [[-Identity] <XdsIdentity>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CsPushNotificationConfiguration
   [-Tenant <Guid>]
   [-EnableApplePushNotificationService <Boolean>]
   [-EnableMicrosoftPushNotificationService <Boolean>]
   [-Instance <PSObject>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Apple Push Notification Service and the Microsoft Push Notification Service enable users running Skype for Business on their Apple iPhone or Windows Phone to receive notifications about Skype for Business Server events even when Skype for Business is suspended or running in the background. For example, users can receive notice for events such as these:

  • Invitations to a new instant messaging session or conference
  • New instant messages
  • New voice mail

Without the push notification service users would receive these notices only when Skype for Business was in the foreground and serving as the active application.

Administrators have the ability to enable or disable push notifications for iPhone users and/or Windows Phone users. (By default, push notifications are disabled for both iPhone users and Windows Phone users.) Administrators can enable or disable push notifications at the global scope by using the Set-CsPushNotificationConfiguration cmdlet. They can also create custom push notification settings at the site scope by using the New-CsPushNotificationConfiguration cmdlet. These custom settings can also be modified by using the Set-CsPushNotificationConfiguration cmdlet.

With the push notification configuration settings there are only two property values for Administrators to manage: EnableApplePushNotificationService, which determines whether push notifications are sent to iPhone users and EnableMicrosoftPushNotificationService, which determines whether push notifications are sent to Windows Phone users. Note that these property values do not have to be set to the same value. For example, you could enable push notifications to Windows Phone users (by setting EnableMicrosoftPushNotificationService to True) yet, at the same, disable notifications to iPhone users by setting EnableApplePushNotificationService to False.

Examples

-------------------------- Example 1 --------------------------

Set-CsPushNotificationConfiguration -Identity "site:Redmond" -EnableApplePushNotificationService $False

The command shown in Example 1 disables push notifications from the Apple Push Notification Service for the Redmond site.

-------------------------- Example 2 --------------------------

Get-CsPushNotificationConfiguration -Filter "site:*" | Set-CsPushNotificationConfiguration -EnableApplePushNotificationService $False

Example 2 disables push notifications from the Apple Push Notification Service for all the sites currently hosting push notification settings. To do this, the command first uses the Get-CsPushNotificationConfiguration cmdlet and the Filter parameter to return all the push notification settings configured at the site scope; the filter value "site:*" limits the returned settings to those that have an Identity that begins with the string value "site:". That collection of settings is then piped to the Set-CsPushNotificationConfiguration cmdlet, which takes each item in the collection and sets the EnableApplePushNotificationService property to False.

-------------------------- Example 3 --------------------------

Get-CsPushNotificationConfiguration | Where-Object {$_.EnableMicrosoftPushNotificationService -eq $False} | Set-CsPushNotificationConfiguration -EnableApplePushNotificationService $False

Example 3 demonstrates how you can locate all the push notification settings where push notifications from the Microsoft Push Notification Service are disabled, and then disable push notifications from the Apple Push Notification Service for each of those settings as well. To carry out this task, the command first uses the Get-CsPushNotificationConfiguration cmdlet to return a collection of all the push notification settings currently in use the organization. This collection is then piped to the Where-Object cmdlet, which selects only those settings where the EnableMicrosoftPushNotificationService property is equal to (-eq) False. That filtered collection is then piped to the Set-CsPushNotificationConfiguration cmdlet, which takes each item in the filtered collection and sets the EnableApplePushNotificationService property to False.

Parameters

-Confirm

Prompts you for confirmation before executing the command.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Lync Server 2013, Skype for Business Online, Skype for Business Server 2015, Skype for Business Server 2019

-EnableApplePushNotificationService

When set to True, iPhone users will receive push notifications from the Apple Push Notification Service. When set to False, iPhone users will not receive these notifications.

The default value is False.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Lync Server 2013, Skype for Business Online, Skype for Business Server 2015, Skype for Business Server 2019

-EnableMicrosoftPushNotificationService

When set to True, Windows Phone users will receive push notifications from the Microsoft Push Notification Service. When set to False, Windows Phone users will not receive these notifications.

The default value is False.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Lync Server 2013, Skype for Business Online, Skype for Business Server 2015, Skype for Business Server 2019

-Force

Suppresses the display of any non-fatal error message that might occur when running the command.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Lync Server 2013, Skype for Business Online, Skype for Business Server 2015, Skype for Business Server 2019

-Identity

Indicates the Identity of the push notification configuration settings to be modified. To refer to the global settings, use this syntax:

-Identity global

To refer to site settings, use syntax similar to this:

-Identity site:Redmond

Note that you cannot use wildcards when specifying an Identity.

Type:XdsIdentity
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Lync Server 2013, Skype for Business Online, Skype for Business Server 2015, Skype for Business Server 2019

-Instance

Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Lync Server 2013, Skype for Business Online, Skype for Business Server 2015, Skype for Business Server 2019

-Tenant

Globally unique identifier (GUID) of the Skype for Business Online tenant account for the push notification settings being modified. For example:

-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"

You can return the tenant ID for each of your tenants by running this command:

Get-CsTenant | Select-Object DisplayName, TenantID

If you are using a remote session of Windows PowerShell and are connected only to Skype for Business Online you do not have to include the Tenant parameter. Instead, the tenant ID will automatically be filled in for you based on your connection information. The Tenant parameter is primarily for use in a hybrid deployment.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Lync Server 2013, Skype for Business Online, Skype for Business Server 2015, Skype for Business Server 2019

-WhatIf

Describes what would happen if you executed the command without actually executing the command.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Lync Server 2013, Skype for Business Online, Skype for Business Server 2015, Skype for Business Server 2019

Inputs

Microsoft.Rtc.Management.WriteableConfig.Settings.PushNotificationConfiguration.PushNotificationConfiguration. The Set-CsPushNotificationConfiguration cmdlet accepts pipelined instances of the PushNotificationConfiguration object.

Outputs

None. Instead, the Set-CsPushNotificationConfiguration cmdlet modifies existing instances of the Microsoft.Rtc.Management.WriteableConfig.Settings.PushNotificationConfiguration.PushNotificationConfiguration object.