Set-CsTeamsComplianceRecordingPolicy

Modifies an existing Teams recording policy for governing automatic policy-based recording in your tenant. Automatic policy-based recording is only applicable to Microsoft Teams users.

Syntax

Set-CsTeamsComplianceRecordingPolicy
   [-Tenant <System.Guid>]
   [-Identity <XdsIdentity>]
   [-Enabled <Boolean>]
   [-WarnUserOnRemoval <Boolean>]
   [-Description <String>]
   [-DisableComplianceRecordingAudioNotificationForCalls <Boolean>]
   [-ComplianceRecordingApplications <ComplianceRecordingApplication[]>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-CsTeamsComplianceRecordingPolicy
   [-Tenant <System.Guid>]
   [-Instance <PSObject>]
   [-Enabled <Boolean>]
   [-WarnUserOnRemoval <Boolean>]
   [-Description <String>]
   [-ComplianceRecordingApplications <ComplianceRecordingApplication[]>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Teams recording policies are used in automatic policy-based recording scenarios. When Microsoft Teams users participate in meetings or make or receive calls, the policy-based recording applications i.e. bots associated with the user's Teams recording policy are invited into the call or meeting to record audio, video and video-based screen sharing activity.

Note that simply assigning a Teams recording policy to a Microsoft Teams user will not activate automatic policy-based recording for all Microsoft Teams calls and meetings that the user participates in. Among other things, you will need to create an application instance of a policy-based recording application i.e. a bot in your tenant and will then need to assign an appropriate policy to the user.

Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application.

Assigning your Microsoft Teams users a Teams recording policy activates automatic policy-based recording for all new Microsoft Teams calls and meetings that the users participate in. The system will load the recording application and join it to appropriate calls and meetings in order for it to enforce compliance with the administrative set policy. Existing calls and meetings are unaffected.

Examples

Example 1

PS C:\> Set-CsTeamsComplianceRecordingPolicy -Identity 'ContosoPartnerComplianceRecordingPolicy' -ComplianceRecordingApplications @(New-CsTeamsComplianceRecordingApplication -Parent 'ContosoPartnerComplianceRecordingPolicy' -Id 'd93fefc7-93cc-4d44-9a5d-344b0fff2899')

The command shown in Example 1 modifies an existing per-user Teams recording policy with the Identity ContosoPartnerComplianceRecordingPolicy. This policy is re-assigned a single application instance of a policy-based recording application: d93fefc7-93cc-4d44-9a5d-344b0fff2899, which is the ObjectId of the application instance as obtained from the Get-CsOnlineApplicationInstance cmdlet.

Any Microsoft Teams users who are assigned this policy will have their calls and meetings recorded by that application instance. Existing calls and meetings are unaffected.

Example 2

PS C:\> Set-CsTeamsComplianceRecordingPolicy -Identity 'ContosoPartnerComplianceRecordingPolicy' -ComplianceRecordingApplications @(New-CsTeamsComplianceRecordingApplication -Parent 'ContosoPartnerComplianceRecordingPolicy' -Id 'd93fefc7-93cc-4d44-9a5d-344b0fff2899'), @(New-CsTeamsComplianceRecordingApplication -Parent 'ContosoPartnerComplianceRecordingPolicy' -Id '39dc3ede-c80e-4f19-9153-417a65a1f144')

Example 2 is a variation of Example 1. In this case, the Teams recording policy is re-assigned two application instances of policy-based recording applications.

Any Microsoft Teams users who are assigned this policy will have their calls and meetings recorded by both those application instances. Existing calls and meetings are unaffected.

Example 3

PS C:\> Set-CsTeamsComplianceRecordingPolicy -Identity 'ContosoPartnerComplianceRecordingPolicy' -Enabled $false

The command shown in Example 3 stops automatic policy-based recording for all new calls and meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected.

Example 4

PS C:\> Set-CsTeamsComplianceRecordingPolicy -Identity 'ContosoPartnerComplianceRecordingPolicy' -Enabled $true

The command shown in Example 4 causes automatic policy-based recording to occur for all new calls and meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected.

Example 5

PS C:\> Get-CsTeamsComplianceRecordingPolicy | Set-CsTeamsComplianceRecordingPolicy -Enabled $false

The command shown in Example 5 stops automatic policy-based recording for all Teams recording policies. This effectively stops automatic policy-based recording for all new calls and meetings of all Microsoft Teams users who are assigned any Teams recording policy. Existing calls and meetings are unaffected.

Parameters

-ComplianceRecordingApplications

A list of application instances of policy-based recording applications to assign to this policy. The Id of each of these application instances must be the ObjectId of the application instance as obtained by the Get-CsOnlineApplicationInstance cmdlet.

Please work with your Microsoft certified policy-based recording application provider to obtain an instance of their recording application. Please refer to the documentation of the CsOnlineApplicationInstance cmdlets for information on how to create an application instance of a policy-based recording application.

Type:ComplianceRecordingApplication[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Description

Enables administrators to provide explanatory text to accompany a Teams recording policy. For example, the Description might include information about the users the policy should be assigned to.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-DisableComplianceRecordingAudioNotificationForCalls

Setting this attribute to true disables recording audio notifications for 1:1 calls that are under compliance recording

Type:Boolean
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-Enabled

Controls whether this Teams recording policy is active or not.

Setting this to True and having the right set of ComplianceRecordingApplications will initiate automatic policy-based recording for all new calls and meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected.

Setting this to False will stop automatic policy-based recording for any new calls or meetings of all Microsoft Teams users who are assigned this policy. Existing calls and meetings are unaffected.

Type:Boolean
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-Force

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

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Identity

Unique identifier to be assigned to the new Teams recording policy.

Use the "Global" Identity if you wish to assign this policy to the entire tenant.

Type:XdsIdentity
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-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
Accept pipeline input:True
Accept wildcard characters:False
-Tenant

Globally unique identifier (GUID) of the tenant account whose Teams recording policies are being queried. For example:

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

You can return your tenant ID 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:System.Guid
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WarnUserOnRemoval

This parameter is reserved for future use.

Type:Boolean
Position:Named
Default value:True
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Inputs

System.Management.Automation.PSObject

Outputs

System.Object