Set-AuthenticationPolicy
This cmdlet is available in on-premises Exchange and in the cloud-based service. Some parameters and settings may be exclusive to one environment or the other.
Use the Set-AuthenticationPolicy cmdlet to modify authentication policies in your organization.
For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax.
Syntax
Set-AuthenticationPolicy
[-Identity] <AuthPolicyIdParameter>
[-AllowBasicAuthActiveSync]
[-AllowBasicAuthAutodiscover]
[-AllowBasicAuthImap]
[-AllowBasicAuthMapi]
[-AllowBasicAuthOfflineAddressBook]
[-AllowBasicAuthOutlookService]
[-AllowBasicAuthPop]
[-AllowBasicAuthPowershell]
[-AllowBasicAuthReportingWebServices]
[-AllowBasicAuthRpc]
[-AllowBasicAuthSmtp]
[-AllowBasicAuthWebServices]
[-AllowLegacyExchangeTokens]
[-BlockLegacyAuthActiveSync]
[-BlockLegacyAuthAutodiscover]
[-BlockLegacyAuthImap]
[-BlockLegacyAuthMapi]
[-BlockLegacyAuthOfflineAddressBook]
[-BlockLegacyAuthPop]
[-BlockLegacyAuthRpc]
[-BlockLegacyAuthWebServices]
[-BlockLegacyExchangeTokens]
[-BlockModernAuthActiveSync]
[-BlockModernAuthAutodiscover]
[-BlockModernAuthImap]
[-BlockModernAuthMapi]
[-BlockModernAuthOfflineAddressBook]
[-BlockModernAuthPop]
[-BlockModernAuthRpc]
[-BlockModernAuthWebServices]
[-Confirm]
[-TenantId <String>]
[-WhatIf]
[<CommonParameters>]
Description
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-AuthenticationPolicy -Identity "Engineering Group" -AllowBasicAuthReportingWebServices
In Exchange Online, this example modifies the authentication policy named Engineering Group to allow Basic authentication for Exchange Reporting Web Services.
Example 2
Set-AuthenticationPolicy -Identity "Research and Development Group" -BlockLegacyAuthReportingWebServices:$false
In Exchange 2019, this example re-enables Basic authentication for Exchange Reporting Web Services in the authentication policy named Research and Development Group.
Example 3
Set-AuthenticationPolicy -Identity "LegacyExchangeTokens" -BlockLegacyExchangeTokens
In Exchange Online, this example blocks legacy Exchange tokens from being issued to Outlook add-ins. The switch applies to the entire organization, and the Identity parameter must be set to the value "LegacyExchangeTokens". Specific authentication polices can't be applied.
Parameters
-AllowBasicAuthActiveSync
This parameter is available only in the cloud-based service.
The AllowBasicAuthActiveSync switch specifies whether to allow Basic authentication with Exchange Active Sync.
- To allow Basic authentication for the protocol, use this switch without a value.
- To block Basic authentication for the protocol, use this exact syntax:
-AllowBasicAuthActiveSync:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-AllowBasicAuthAutodiscover
This parameter is available only in the cloud-based service.
The AllowBasicAuthAutodiscover switch specifies whether to allow Basic authentication with Autodiscover.
- To allow Basic authentication for the protocol, use this switch without a value.
- To block Basic authentication for the protocol, use this exact syntax:
-AllowBasicAuthAutodiscover:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-AllowBasicAuthImap
This parameter is available only in the cloud-based service.
The AllowBasicAuthImap switch specifies whether to allow Basic authentication with IMAP.
- To allow Basic authentication for the protocol, use this switch without a value.
- To block Basic authentication for the protocol, use this exact syntax:
-AllowBasicAuthImap:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-AllowBasicAuthMapi
This parameter is available only in the cloud-based service.
The AllowBasicAuthMapi switch specifies whether to allow Basic authentication with MAPI.
- To allow Basic authentication for the protocol, use this switch without a value.
- To block Basic authentication for the protocol, use this exact syntax:
-AllowBasicAutMapi:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-AllowBasicAuthOfflineAddressBook
This parameter is available only in the cloud-based service.
The AllowBasicAuthOfflineAddressBook switch specifies whether to allow Basic authentication with Offline Address Books.
- To allow Basic authentication for the protocol, use this switch without a value.
- To block Basic authentication for the protocol, use this exact syntax:
-AllowBasicAuthOfflineAddressBook:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-AllowBasicAuthOutlookService
This parameter is available only in the cloud-based service.
The AllowBasicAuthOutlookService switch specifies whether to allow Basic authentication with the Outlook service.
- To allow Basic authentication for the protocol, use this switch without a value.
- To block Basic authentication for the protocol, use this exact syntax:
-AllowBasicAuthOutlookService:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-AllowBasicAuthPop
This parameter is available only in the cloud-based service.
The AllowBasicAuthPop switch specifies whether to allow Basic authentication with POP.
- To allow Basic authentication for the protocol, use this switch without a value.
- To block Basic authentication for the protocol, use this exact syntax:
-AllowBasicAuthPop:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-AllowBasicAuthPowershell
This parameter is available only in the cloud-based service.
The AllowBasicAuthPowerShell switch specifies whether to allow Basic authentication with PowerShell.
- To allow Basic authentication for the protocol, use this switch without a value.
- To block Basic authentication for the protocol, use this exact syntax:
-AllowBasicAuthPowershell:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-AllowBasicAuthReportingWebServices
This parameter is available only in the cloud-based service.
The AllowBasicAuthReporting Web Services switch specifies whether to allow Basic authentication with reporting web services.
- To allow Basic authentication for the protocol, use this switch without a value.
- To block Basic authentication for the protocol, use this exact syntax:
-AllowBasicAuthReportingWebServices:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-AllowBasicAuthRpc
This parameter is available only in the cloud-based service.
The AllowBasicAuthRpc switch specifies whether to allow Basic authentication with RPC.
- To allow Basic authentication for the protocol, use this switch without a value.
- To block Basic authentication for the protocol, use this exact syntax:
-AllowBasicAuthRpc:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-AllowBasicAuthSmtp
This parameter is available only in the cloud-based service.
The AllowBasicAuthSmtp switch specifies whether to allow Basic authentication with SMTP.
- To allow Basic authentication for the protocol, use this switch without a value.
- To block Basic authentication for the protocol, use this exact syntax:
-AllowBasicAuthSmtp:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-AllowBasicAuthWebServices
This parameter is available only in the cloud-based service.
The AllowBasicAuthWebServices switch specifies whether to allow Basic authentication with Exchange Web Services (EWS).
- To allow Basic authentication for the protocol, use this switch without a value.
- To block Basic authentication for the protocol, use this exact syntax:
-AllowBasicAuthWebServices:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-AllowLegacyExchangeTokens
This parameter is available only in the cloud-based service.
The AllowLegacyExchangeTokens switch specifies to allow legacy Exchange tokens to be issued to Outlook add-ins. You don't need to specify a value with this switch.
Legacy Exchange tokens include Exchange user identity and callback tokens.
The switch applies to the entire organization. The Identity parameter is required and must be set to the value "LegacyExchangeTokens". Specific authentication polices can't be applied.
Important:
- Apart from the Identity parameter, this switch disregards other authentication policy parameters used in the same command. We recommend running separate commands for other authentication policy changes.
- It might take up to 24 hours for the change to take effect across your entire organization.
- Legacy Exchange tokens will eventually be blocked by default in all cloud-based organizations. For more information, see Nested app authentication and Outlook legacy tokens deprecation FAQ.
Type: | SwitchParameter |
Position: | Named |
Default value: | True |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-BlockLegacyAuthActiveSync
This parameter is available only in on-premises Exchange.
The BlockLegacyAuthActiveSync switch specifies whether to allow only modern authentication with Exchange ActiveSync in Exchange 2019 CU2 or later hybrid environments.
- To block Basic authentication, Digest authentication, and Windows authentication (NTLM and Kerberos) for ActiveSync, use this switch without a value.
- To allow legacy authentication methods for ActiveSync, use this exact syntax:
-BlockLegacyAuthActiveSync:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockLegacyAuthAutodiscover
This parameter is available only in on-premises Exchange.
The BlockLegacyAuthAutodiscover switch specifies whether to allow only modern authentication with Autodiscover in Exchange 2019 CU2 or later hybrid environments.
- To block Basic authentication, Digest authentication, and Windows authentication (NTLM and Kerberos) for Autodiscover, use this switch without a value.
- To allow legacy authentication methods for Autodiscover, use this exact syntax:
-BlockLegacyAuthAutodiscover:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockLegacyAuthImap
This parameter is available only in on-premises Exchange.
The BlockLegacyAuthImap switch specifies whether to allow only modern authentication with IMAP in Exchange 2019 CU2 or later hybrid environments.
- To block Basic authentication, Digest authentication, and Windows authentication (NTLM and Kerberos) for IMAP, use this switch without a value.
- To allow legacy authentication methods for IMAP, use this exact syntax:
-BlockLegacyAuthImap:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockLegacyAuthMapi
This parameter is available only in on-premises Exchange.
The BlockLegacyAuthMapi switch specifies whether to allow only modern authentication with MAPI in Exchange 2019 CU2 or later hybrid environments.
- To block Basic authentication, Digest authentication, and Windows authentication (NTLM and Kerberos) for MAPI, use this switch without a value.
- To allow legacy authentication methods for MAPI, use this exact syntax:
-BlockLegacyAuthMapi:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockLegacyAuthOfflineAddressBook
This parameter is available only in on-premises Exchange.
The BlockLegacyAuthOfflineAddressBook switch specifies whether to allow only modern authentication with Offline Address Books in Exchange 2019 CU2 or later hybrid environments.
- To block Basic authentication, Digest authentication, and Windows authentication (NTLM and Kerberos) for Offline Address Books, use this switch without a value.
- To allow legacy authentication methods for OfflineAddressBooks, use this exact syntax:
-BlockLegacyAuthOfflineAddressBook:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockLegacyAuthPop
This parameter is available only in on-premises Exchange.
The BlockLegacyAuthPop switch specifies whether to allow only modern authentication with POP in Exchange 2019 CU2 or later hybrid environments.
- To block Basic authentication, Digest authentication, and Windows authentication (NTLM and Kerberos) for POP, use this switch without a value.
- To allow legacy authentication methods for POP, use this exact syntax:
-BlockLegacyAuthPop:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockLegacyAuthRpc
This parameter is available only in on-premises Exchange.
The BlockLegacyAuthRpc switch specifies whether to allow only modern authentication with RPC in Exchange 2019 CU2 or later hybrid environments.
- To block Basic authentication, Digest authentication, and Windows authentication (NTLM and Kerberos) for RPC, use this switch without a value.
- To allow legacy authentication methods for RPC, use this exact syntax:
-BlockLegacyAuthRpc:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockLegacyAuthWebServices
This parameter is available only in on-premises Exchange.
The BlockLegacyAuthWebServices switch specifies whether to allow only modern authentication with Exchange Web Services (EWS) in Exchange 2019 CU2 or later hybrid environments.
- To block Basic authentication, Digest authentication, and Windows authentication (NTLM and Kerberos) for EWS, use this switch without a value.
- To allow legacy authentication methods for EWS, use this exact syntax:
-BlockLegacyAuthWebServices:$false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockLegacyExchangeTokens
This parameter is available only in the cloud-based service.
The BlockLegacyExchangeTokens switch specifies to block legacy Exchange tokens being issued to Outlook add-ins. You don't need to specify a value with this switch.
Legacy Exchange tokens include Exchange user identity and callback tokens.
The switch applies to the entire organization. The Identity parameter is required and must be set to the value "LegacyExchangeTokens". Specific authentication polices can't be applied.
Important:
- Apart from the Identity parameter, this switch disregards other authentication policy parameters used in the same command. We recommend running separate commands for other authentication policy changes.
- It might take up to 24 hours for the change to take effect across your entire organization.
- Legacy Exchange tokens issued to Outlook add-ins before token blocking was implemented in your organization will remain valid until they expire.
- Blocking legacy Exchange tokens might cause some Microsoft add-ins to stop working. These add-ins are being updated to no longer use legacy tokens.
- Legacy Exchange tokens will eventually be blocked by default in all cloud-based organizations. For more information, see Nested app authentication and Outlook legacy tokens deprecation FAQ.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-BlockModernAuthActiveSync
This parameter is available only in on-premises Exchange.
The BlockModernAuthActiveSync switch specifies whether to block modern authentication with Exchange ActiveSync in Exchange 2019 CU13 or later. You don't need to specify a value with this switch.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockModernAuthAutodiscover
This parameter is available only in on-premises Exchange.
The BlockModernAuthAutodiscover switch specifies whether to block modern authentication with Autodiscover in Exchange 2019 CU13 or later. You don't need to specify a value with this switch.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockModernAuthImap
This parameter is available only in on-premises Exchange.
The BlockModernAuthImap switch specifies whether to block modern authentication with IMAP in Exchange 2019 CU13 or later. You don't need to specify a value with this switch.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockModernAuthMapi
This parameter is available only in on-premises Exchange.
The BlockModernAuthMapi switch specifies whether to block modern authentication with MAPI in Exchange 2019 CU13 or later. You don't need to specify a value with this switch.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockModernAuthOfflineAddressBook
This parameter is available only in on-premises Exchange.
The BlockModernAuthOfflineAddressBook switch specifies whether to block modern authentication with Offline Address Books in Exchange 2019 CU13 or later. You don't need to specify a value with this switch.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockModernAuthPop
This parameter is available only in on-premises Exchange.
The BlockModernAuthPop switch specifies whether to block modern authentication with POP in Exchange 2019 CU13 or later. You don't need to specify a value with this switch.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockModernAuthRpc
This parameter is available only in on-premises Exchange.
The BlockModernAuthRpc switch specifies whether to block modern authentication with RPC in Exchange 2019 CU13 or later. You don't need to specify a value with this switch.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-BlockModernAuthWebServices
This parameter is available only in on-premises Exchange.
The BlockModernAuthWebServices switch specifies whether to block modern authentication with Exchange Web Services (EWS) in Exchange 2019 CU13 or later. You don't need to specify a value with this switch.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019 |
-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 Server 2019, Exchange Online, Exchange Online Protection |
-Identity
The Identity parameter specifies the authentication policy you want to modify. You can use any value that uniquely identifies the policy. For example:
- Name
- Distinguished name (DN)
- GUID
Type: | AuthPolicyIdParameter |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2019, Exchange Online, Exchange Online Protection |
-TenantId
This parameter is available only in the cloud-based service.
{{ Fill TenantId Description }}
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-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 Server 2019, Exchange Online, Exchange Online Protection |