Set-TeamsProtectionPolicyRule

This cmdlet is available only in the cloud-based service.

Use the Set-TeamsProtectionPolicyRule cmdlet to modify Microsoft Teams protection policy rules.

For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax.

Syntax

Set-TeamsProtectionPolicyRule
   [-Identity] <RuleIdParameter>
   [-Comments <String>]
   [-Confirm]
   [-ExceptIfRecipientDomainIs <Word[]>]
   [-ExceptIfSentTo <RecipientIdParameter[]>]
   [-ExceptIfSentToMemberOf <RecipientIdParameter[]>]
   [-WhatIf]
   [<CommonParameters>]

Description

Important

Different types of recipient exceptions use OR logic (the recipient must satisfy any of the specified exceptions). For more information, see Configure ZAP for Teams protection in Defender for Office 365 Plan 2.

You need to be assigned permissions before you can run this cmdlet. Although this topic lists all parameters for the cmdlet, you may not have access to some parameters if they're not included in the permissions assigned to you. To find the permissions required to run any cmdlet or parameter in your organization, see Find the permissions required to run any Exchange cmdlet.

Examples

Example 1

Set-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule" -ExceptIfRecipientDomainIs research.contoso.com

This example modifies the existing Teams protection policy rule by excluding recipients in the domain research.contoso.com from ZAP for Teams protection.

Parameters

-Comments

The Comments parameter specifies informative comments for the rule, such as what the rule is used for or how it has changed over time. The length of the comment can't exceed 1024 characters.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-Confirm

The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on if the cmdlet requires confirmation before proceeding.

  • Destructive cmdlets (for example, Remove-* cmdlets) have a built-in pause that forces you to acknowledge the command before proceeding. For these cmdlets, you can skip the confirmation prompt by using this exact syntax: -Confirm:$false.
  • Most other cmdlets (for example, New-* and Set-* cmdlets) don't have a built-in pause. For these cmdlets, specifying the Confirm switch without a value introduces a pause that forces you acknowledge the command before proceeding.
Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-ExceptIfRecipientDomainIs

The ExceptIfRecipientDomainIs parameter specifies an exception to ZAP for Teams protection that looks for recipients of Teams messages with email addresses in the specified domains.

To replace all existing domains with the values you specify, use the following syntax: Domain1,Domain2,...DomainN.

To add domains without affecting other existing values, use the following syntax:

$DomainsAdd = Get-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule" | select -Expand ExceptIfRecipientDomainIs

$DomainsAdd += "Domain1","Domain2",..."DomainN"

Set-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule" -ExceptIfRecipientDomainIs $DomainsAdd

To remove domains without affecting other existing values, use the following syntax:

  • Run the following commands to see the existing list of values in order:

    $x = Get-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule"

    $d = [System.Collections.ArrayList]($x.ExceptIfRecipientDomainIs)

    $d

    The first value in the list has the index number 0, the second has the index number 1, and so on.

  • Use the index number to specify the value to remove. For example, to remove the seventh value in the list, run the following commands:

    $d.RemoveAt(6)

    Set-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule" -ExceptIfRecipientDomainIs $d

To empty the list, use the value $null for this parameter.

Type:Word[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-ExceptIfSentTo

The ExceptIfSentTo parameter specifies an exception to ZAP for Teams protection that looks for recipients of Teams messages. You can use any value that uniquely identifies the recipient. For example:

  • Name
  • Alias
  • Distinguished name (DN)
  • Canonical DN
  • Email address
  • GUID

To replace all existing recipients with the values you specify, use the following syntax: "User1","User2",..."UserN".

To add recipients without affecting other existing values, use the following syntax:

$UsersAdd = Get-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule" | select -Expand ExceptIfSentTo

$UsersAdd += "User1","User2",..."UserN"

Set-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule" -ExceptIfSentTo $UsersAdd

To remove recipients without affecting other existing values, use the following syntax:

  • Run the following commands to see the existing list of values in order:

    $x = Get-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule"

    $u = [System.Collections.ArrayList]($x.ExceptIfSentTo)

    $u

    The first value in the list has the index number 0, the second has the index number 1, and so on.

  • Use the index number to specify the value to remove. For example, to remove the seventh value in the list, run the following commands:

    $u.RemoveAt(6)

    Set-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule" -ExceptIfSentTo $u

To empty the list, use the value $null for this parameter.

Type:RecipientIdParameter[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-ExceptIfSentToMemberOf

The ExceptIfSentToMemberOf parameter specifies an exception to ZAP for Teams protection that looks for Teams messages sent to members of distribution groups or mail-enabled security groups. You can use any value that uniquely identifies the group. For example:

  • Name
  • Alias
  • Distinguished name (DN)
  • Canonical DN
  • Email address
  • GUID

To add groups without affecting other existing values, use the following syntax:

$GroupsAdd = Get-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule" | select -Expand ExceptIfSentToMemberOf

$GroupsAdd += "Group1","Group2",..."GroupN"

Set-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule" -ExceptIfSentToMemberOf $GroupsAdd

To remove groups without affecting other existing values, use the following syntax:

  • Run the following commands to see the existing list of values in order:

    $x = Get-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule"

    $g = [System.Collections.ArrayList]($x.ExceptIfSentToMemberOf)

    $g

    The first value in the list has the index number 0, the second has the index number 1, and so on.

  • Use the index number to specify the value to remove. For example, to remove the seventh value in the list, run the following commands:

    $g.RemoveAt(6)

    Set-TeamsProtectionPolicyRule -Identity "Teams Protection Policy Rule" -ExceptIfSentTo $g

If you remove the group after you create the rule, no exception is made for ZAP for Teams for messages that are sent to members of the group.

To empty the list, use the value $null for this parameter.

Type:RecipientIdParameter[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

-Identity

The Identity parameter specifies the Teams protection policy rule that you want to modify. There's only one Teams protection policy rule in an organization named Teams Protection Policy Rule.

Type:RuleIdParameter
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Online

-WhatIf

The WhatIf switch simulates the actions of the command. You can use this switch to view the changes that would occur without actually applying those changes. You don't need to specify a value with this switch.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online