Topic Last Modified: 2014-02-21

Returns information about the Persistent Chat policies configured for use in your organization. Persistent Chat policies determine whether or not users are allowed access to Persistent Chat chat rooms. This cmdlet was introduced in Lync Server 2013.


Get-CsPersistentChatPolicy [-Identity <XdsIdentity>] <COMMON PARAMETERS>
Get-CsPersistentChatPolicy [-Filter <String>] <COMMON PARAMETERS>
COMMON PARAMETERS: [-LocalStore <SwitchParameter>] [-Tenant <Guid>]


Example 1

The command shown in Example 1 returns information about all the Persistent Chat policies configured for use in the organization.

Copy Code

Example 2

In Example 2, information is returned only for the per-user Persistent Chat policy with the Identity RedmondPersistentChatPolicy.

Copy Code
Get-CsPersistentChatPolicy -Identity "RedmondPersistentChatPolicy"

Example 3

In Example 3, information is returned for all the Persistent Chat policies configured at the site scope. This is done by including the Filter parameter and the parameter value "site:*".

Copy Code
Get-CsPersistentChatPolicy -Filter "site:*"

Example 4

In Example 4, information is returned only for those Persistent Chat policies in which Persistent Chat is enabled. To do this, the Get-CsPersistentChatPolicy cmdlet is first called without any parameters in order to return a collection of all the Persistent Chat policies configured for use in the organization. This collection is then piped to the Where-Object cmdlet, which picks out only those policies where the EnablePersistentChat property is equal to True ($True).

Copy Code
Get-CsPersistentChatPolicy | Where-Object {$_.EnablePersistentChat -eq $True}

Detailed Description

The Persistent Chat service (which replaces the Group Chat service used in Microsoft Lync Server 2010) provides organizations with messaging and collaboration capabilities similar to those found in Internet discussion forums: users can exchange messages in real-time, yet can also revisit and restart those conversations at any time. Conversations can be based around specific topics, and these conversations can be made available to everyone or to only a selected set of users. Likewise, individual chat rooms can be configured so that anyone can post a message or configured so that only designated presenters can post messages.

By default, users are not granted access to the Persistent Chat service; that access can only be granted if the user is managed by a Persistent Chat policy that allows for the user of the service. When you install Lync 2013, all your users are managed by a global Persistent Chat policy in which the use of Persistent Chat is disabled. If you want to give all your users access to the service you can simply set the EnablePersistentChat property in this global policy to True. Alternatively, you can create additional policies at the site or at the per-user scope, and thus provide Persistent Chat access to some users while denying this access to other users.

To return a list of all the role-based access control (RBAC) roles this cmdlet has been assigned to (including any custom RBAC roles you have created yourself), run the following command from the Windows PowerShell command-line interface prompt:

Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Get-CsPersistentChatPolicy"}

Lync Server Control Panel: To view Persistent Chat policy information in the Lync Server Control Panel, click Persistent Chat and then click Persistent Chat Policy.


Parameter Required Type Description




Enables you to do a wildcard search for Persistent Chat policies. For example, to find all the policies configured at the site scope, use this syntax:

-Filter "site:*"

You cannot use both the Filter parameter and the Identity parameter in the same command.




Unique identity assigned to the policy when it was created. Persistent Chat policies can be assigned at the global, site, or per-user scope. To refer to the global instance, use this syntax:

-Identity global

To refer to a policy at the site scope, use this syntax:

-Identity site:Redmond

To refer to a policy at the per-user scope, use syntax similar to this:

-Identity RedmondPersistentChatPolicy

Wildcard characters such as the asterisk (*) cannot be used with the Identity parameter. To do a wildcard search for policies, use the Filter parameter instead.

If neither the Identity nor the Filter parameter is specified the Get-CsPersistentChatPolicy cmdlet returns information about all the Persistent Chat policies configured for use in your organization.




Retrieves the Persistent Chat policy data from the local replica of the Central Management store rather than from the Central Management store itself.




Globally unique identifier (GUID) of the Office 365 tenant account for the Persistent Chat policies to be returned. 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 Lync 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.

Input Types

None. The Get-CsPersistentChatPolicy cmdlet does not accept pipelined input.

Return Types

The Get-CsPersistentChatPolicy cmdlet returns instances of the Microsoft.Rtc.Management.WritableConfig.Policy.PersistentChat.PersistentChatPolicy object.

See Also