Commands › Exchange Online

Set-ServicePrincipal

Exchange Online ExchangeOnlineManagement Set-*

Change service principals in your cloud-based organization.

Quick start script

# Set-ServicePrincipal — quick start (serv365.ai)
# 1. Connect (app-only shown; interactive: omit the certificate parameters)
Connect-ExchangeOnline -CertificateThumbprint $thumb -AppId $appId -Organization $org

# 2. Capture the current state first — you cannot roll back what you never recorded
$before = Get-ServicePrincipal
$before | Format-List

# 3. Make the change (dry run first)
Set-ServicePrincipal -Identity <ServicePrincipalIdParameter> -WhatIf
Set-ServicePrincipal -Identity <ServicePrincipalIdParameter>

# 4. Verify and diff
$after = Get-ServicePrincipal
Compare-Object ($before | Out-String) ($after | Out-String)

Syntax

Set-ServicePrincipal [-Identity] <ServicePrincipalIdParameter>
 [-Confirm]
 [-DisplayName <String>]
 [-OverrideEnforceExoAppRbacPermissions <Boolean>]
 [-WhatIf]
 [<CommonParameters>]

Parameters (5)

ParameterTypeRequiredWhat it controls
-Identity ServicePrincipalIdParameter yes The Identity parameter specifies the service principal that you want to modify. You can use any value that uniquely identifies the service principal. For example:
-Confirm SwitchParameter The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on whether the cmdlet requires confirmation before proceeding.
-DisplayName String The DisplayName parameter specifies the friendly name of the service principal. If the name contains spaces, enclose the name in quotation marks (").
-OverrideEnforceExoAppRbacPermissions Boolean {{ Fill OverrideEnforceExoAppRbacPermissions Description }}
-WhatIf SwitchParameter The WhatIf switch doesn't work in Security & Compliance PowerShell.

Reference facts derived from Microsoft documentation, © Microsoft, licensed CC BY 4.0; restructured with original guidance by serv365.ai.