Commands › Exchange Online

New-ServicePrincipal

Exchange Online ExchangeOnlineManagement New-*

Create service principals in your cloud-based organization.

Quick start script

# New-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)
New-ServicePrincipal -AppId <String> -ObjectId <String> -ServiceId <String> -WhatIf
New-ServicePrincipal -AppId <String> -ObjectId <String> -ServiceId <String>

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

Syntax

New-ServicePrincipal -AppId <String> -ObjectId <String>
 -ServiceId <String>
 [-Confirm]
 [-DisplayName <String>]
 [-Organization <OrganizationIdParameter>]
 [-WhatIf]
 [<CommonParameters>]

Parameters (7)

ParameterTypeRequiredWhat it controls
-AppId String yes The AppId parameter specifies the unique AppId GUID value for the service principal. For example, ca73fffa-cedb-4b84-860f-d7fb8aa8a6c1.
-ObjectId String yes The ObjectId parameter specifies the unique ObjectId GUID value for the service principal. For example, 7c7599b2-23af-45e3-99ff-0025d148e929.
-ServiceId String yes This parameter is being deprecated. Use the ObjectId parameter instead.
-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 (").
-Organization OrganizationIdParameter This parameter is reserved for internal Microsoft use.
-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.