Get-EntraServicePrincipal

Obtient un principal de service.

Syntaxe

GetQuery (Par défaut)

Get-EntraServicePrincipal

    [-Top <Int32>]
    [-All]
    [-Filter <String>]
    [-Property <String[]>]
    [-AssignmentRequired <Boolean>]
    [-ApplicationType <String>]
    [<CommonParameters>]

GetVague

Get-EntraServicePrincipal

    [-SearchString <String>]
    [-All]
    [-Property <String[]>]
    [-AssignmentRequired <Boolean>]
    [-ApplicationType <String>]
    [<CommonParameters>]

GetById

Get-EntraServicePrincipal

    -ServicePrincipalId <String>
    [-All]
    [-Property <String[]>]
    [<CommonParameters>]

Description

L’applet Get-EntraServicePrincipal de commande obtient un principal de service dans Microsoft Entra ID.

Exemples

Exemple 1 : Récupérer tout le principal de service à partir de l’annuaire

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal
ObjectId                             AppId                                DisplayName
--------                             -----                                -----------
bbbbbbbb-1111-2222-3333-cccccccccccc 00001111-aaaa-2222-bbbb-3333cccc4444 Demo App
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 22223333-cccc-4444-dddd-5555eeee6666 Demo Two App
dddddddd-3333-4444-5555-eeeeeeeeeeee 33334444-dddd-5555-eeee-6666ffff7777 ProjectWorkManagement

Cet exemple récupère tous les principaux de service du répertoire.

Exemple 2 : Récupérer un principal de service par ServicePrincipalId

Connect-Entra -Scopes 'Application.Read.All'
$servicePrincipal = Get-EntraServicePrincipal -Filter "displayName eq 'Helpdesk Application'"
Get-EntraServicePrincipal -ServicePrincipalId $servicePrincipal.Id
DisplayName                         Id                                   AppId                                SignInAudience      ServicePrincipalType
-----------                         --                                   -----                                --------------      --------------------
Helpdesk Application                aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMultipleOrgs Application

Cette commande récupère un principal de service spécifique.

  • -ServicePrincipalId Le paramètre spécifie l’ID d’un principal de service.

Exemple 3 : Récupérer tous les principaux de service à partir du répertoire

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -All
DisplayName                         Id                                   AppId                                SignInAudience      ServicePrincipalType
-----------                         --                                   -----                                --------------      --------------------
Helpdesk Application                aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMultipleOrgs Application
Microsoft Device Management Checkin bbbbbbbb-1111-2222-3333-cccccccccccc 11112222-bbbb-3333-cccc-4444dddd5555 AzureADMultipleOrgs Application
ProvisioningPowerBi                 cccccccc-2222-3333-4444-dddddddddddd 22223333-cccc-4444-dddd-5555eeee6666                     Application

Cet exemple récupère tous les principaux de service du répertoire.

Exemple 4 : Récupérer le principal de service principal du répertoire

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -Top 2
DisplayName                         Id                                   AppId                                SignInAudience      ServicePrincipalType
-----------                         --                                   -----                                --------------      --------------------
Helpdesk Application                aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMultipleOrgs Application
Microsoft Device Management Checkin bbbbbbbb-1111-2222-3333-cccccccccccc 11112222-bbbb-3333-cccc-4444dddd5555 AzureADMultipleOrgs Application

Cette commande récupère les deux principaux principaux du service à partir du répertoire. Vous pouvez utiliser -Limit comme alias pour -Top.

Exemple 5 : Obtenir un principal de service par nom complet

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -Filter "displayName eq 'Helpdesk Application'"
DisplayName                         Id                                   AppId                                SignInAudience      ServicePrincipalType
-----------                         --                                   -----                                --------------      --------------------
Helpdesk Application                aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMultipleOrgs Application

Cet exemple obtient un principal de service par son nom complet.

Exemple 6 : Récupérer une liste de tous les principaux de service, qui a un nom complet qui contient « Application du support technique »

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -SearchString 'Helpdesk Application'
DisplayName                         Id                                   AppId                                SignInAudience      ServicePrincipalType
-----------                         --                                   -----                                --------------      --------------------
Helpdesk Application                aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMultipleOrgs Application

Cet exemple obtient une liste de principal de service, qui a le nom complet spécifié.

Exemple 7 : Récupérer toutes les applications d’entreprise

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -Filter "tags/Any(x: x eq 'WindowsAzureActiveDirectoryIntegratedApp')"
DisplayName         Id                                   AppId                                SignInAudience         ServicePrincipalType
-----------         --                                   -----                                --------------         --------------------
Enterprise App1     00001111-aaaa-2222-bbbb-3333cccc4444 33334444-dddd-5555-eeee-6666ffff7777                         Application
Enterprise App2     11112222-bbbb-3333-cccc-4444dddd5555 22223333-cccc-4444-dddd-5555eeee6666 AzureADMultipleOrgs    Application

Cet exemple montre comment récupérer toutes les applications d’entreprise.

Exemple 8 : Récupérer toutes les applications proxy d’application

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -Filter "tags/Any(x: x eq 'WindowsAzureActiveDirectoryOnPremApp')"
DisplayName         Id                                   AppId                                SignInAudience         ServicePrincipalType
-----------         --                                   -----                                --------------         --------------------
App proxy 1     00001111-aaaa-2222-bbbb-3333cccc4444 33334444-dddd-5555-eeee-6666ffff7777                         Application
App proxy 2     11112222-bbbb-3333-cccc-4444dddd5555 22223333-cccc-4444-dddd-5555eeee6666 AzureADMultipleOrgs    Application

Cet exemple montre comment récupérer toutes les applications proxy d’application.

Exemple 9 : Récupérer toutes les applications désactivées

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -Filter "accountEnabled eq false"
DisplayName         Id                                   AppId                                SignInAudience         ServicePrincipalType
-----------         --                                   -----                                --------------         --------------------
Disabled App1     00001111-aaaa-2222-bbbb-3333cccc4444 33334444-dddd-5555-eeee-6666ffff7777                         Application

Cet exemple montre comment récupérer toutes les applications désactivées.

Exemple 10 : Récupérer toutes les applications d’accès sécurisé global

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -Filter "tags/Any(x: x eq 'PrivateAccessNonWebApplication') or tags/Any(x: x eq 'NetworkAccessManagedApplication')"
DisplayName         Id                                   AppId                                SignInAudience         ServicePrincipalType
-----------         --                                   -----                                --------------         --------------------
Global secure access app     00001111-aaaa-2222-bbbb-3333cccc4444 33334444-dddd-5555-eeee-6666ffff7777                         Application

Cet exemple montre comment récupérer toutes les applications d’accès sécurisé global.

Exemple 11 : Répertorier toutes les applications sans attribution d’utilisateur

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -All | Where-Object {$_.appRoleAssignmentRequired -ne 'true'}
DisplayName                     Id                                   AppId                                SignInAudience         ServicePrincipalType
-----------                     --                                   -----                                --------------         --------------------
App without user assignment     00001111-aaaa-2222-bbbb-3333cccc4444 33334444-dddd-5555-eeee-6666ffff7777                         Application

Cet exemple montre comment récupérer toutes les applications sans affectation d’utilisateur.

Exemple 12 : Répertorier tous les détails de l’application SAML

Connect-Entra -Scopes 'Application.Read.All'
$servicePrincipal = Get-EntraServicePrincipal -Filter "PreferredSingleSignOnMode eq 'saml'"
$servicePrincipal | Select-Object Id, DisplayName, AccountEnabled, AppId, PreferredSingleSignOnMode, AppRoleAssignmentRequired, SignInAudience, NotificationEmailAddresses, PreferredTokenSigningKeyEndDateTime, PreferredTokenSigningKeyValid, ReplyUrls,LoginUrl, LogoutUrl | Format-Table -AutoSize
Id                                   DisplayName                           AccountEnabled AppId                                PreferredSingleSignOnMode AppRoleAssignmentRequired SignInAudience NotificationEmailAddresses
--                                   -----------                           -------------- -----                                ------------------------- ------------------------- -------------- --------------
00001111-aaaa-2222-bbbb-3333cccc4444 SAML App                             True            33334444-dddd-5555-eeee-6666ffff7777 saml                              True                    AzureADMyOrg   {admin@Contoso}

Cet exemple montre comment récupérer tous les détails de l’application SAML.

Exemple 13 : Répertorier les rôles d’application principal du service

Connect-Entra -Scopes 'Application.Read.All'
$servicePrincipal = Get-EntraServicePrincipal -SearchString 'Contoso Helpdesk Application'
$servicePrincipal.AppRoles | Format-Table -AutoSize
AllowedMemberTypes    Description        DisplayName       Id                                   IsEnabled  Origin       Value
------------------    -----------        -----------       --                                   ---------  ------       -----
{User, Application}   General All        General All       gggggggg-6666-7777-8888-hhhhhhhhhhhh  True       Application  Survey.Read
{Application}         General App Only   General Apponly   hhhhhhhh-7777-8888-9999-iiiiiiiiiiii  True       Application  Task.Write
{User}                General role       General           bbbbbbbb-1111-2222-3333-cccccccccccc  True       Application  General

Cet exemple montre comment récupérer des rôles d’application pour un principal de service.

Exemple 14 : Répertorier les applications (principaux de service) en dehors de mon locataire

Connect-Entra -Scopes 'Application.Read.All'
$tenantId = Get-EntraContext | Select-Object -ExpandProperty TenantId
$servicePrincipals = Get-EntraServicePrincipal -All -Property AppOwnerOrganizationId, Id, DisplayName, AppId
$externalServicePrincipals = $servicePrincipals | Where-Object { $_.AppOwnerOrganizationId -ne $tenantId }
$externalServicePrincipals | Select-Object DisplayName, Id, AppId, AppOwnerOrganizationId | Format-Table -AutoSize
DisplayName                                             Id                                   AppId                                AppOwnerOrganizationId
-----------                                             --                                   -----                                ----------------------
Azure MFA StrongAuthenticationService                   aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 00001111-aaaa-2222-bbbb-3333cccc4444 f8cdef31-a31e-4b4a-93e4-5f571e91255a
M365 Label Analytics                                    bbbbbbbb-1111-2222-3333-cccccccccccc 11112222-bbbb-3333-cccc-4444dddd5555 f8cdef31-a31e-4b4a-93e4-5f571e91255a
PowerApps-Advisor                                       cccccccc-2222-3333-4444-dddddddddddd 22223333-cccc-4444-dddd-5555eeee6666 f8cdef31-a31e-4b4a-93e4-5f571e91255a

Cet exemple montre comment récupérer des applications (principaux de service) en dehors de mon locataire.

Exemple 15 : Récupérer des principaux de service avec attribution d’utilisateur requise

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -AssignmentRequired $true
DisplayName                Id                                   AppId                                SignInAudience      ServicePrincipalType
-----------                --                                   -----                                --------------      --------------------
Restricted App             aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMyOrg        Application

Cet exemple récupère tous les principaux de service où l’attribution d’utilisateur est requise pour accéder à l’application.

Exemple 16 : Récupérer des applications d’entreprise à l’aide du paramètre ApplicationType

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -ApplicationType EnterpriseApps
DisplayName         Id                                   AppId                                SignInAudience         ServicePrincipalType
-----------         --                                   -----                                --------------         --------------------
Enterprise App1     00001111-aaaa-2222-bbbb-3333cccc4444 33334444-dddd-5555-eeee-6666ffff7777                         Application
Enterprise App2     11112222-bbbb-3333-cccc-4444dddd5555 22223333-cccc-4444-dddd-5555eeee6666 AzureADMultipleOrgs    Application

Cet exemple montre comment récupérer toutes les applications d’entreprise à l’aide du paramètre ApplicationType. Les valeurs valides sont : AppProxyApps, EnterpriseApps, ManagedIdentity, MicrosoftApps.

Exemple 17 : Récupérer des identités managées

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -ApplicationType ManagedIdentity
DisplayName         Id                                   AppId                                SignInAudience         ServicePrincipalType
-----------         --                                   -----                                --------------         --------------------
MyVM-Identity       00001111-aaaa-2222-bbbb-3333cccc4444 33334444-dddd-5555-eeee-6666ffff7777                         ManagedIdentity

Cet exemple récupère toutes les identités managées.

Exemple 18 : Combiner des filtres AssignmentRequired et ApplicationType

Connect-Entra -Scopes 'Application.Read.All'
Get-EntraServicePrincipal -AssignmentRequired $true -ApplicationType EnterpriseApps
DisplayName                Id                                   AppId                                SignInAudience      ServicePrincipalType
-----------                --                                   -----                                --------------      --------------------
Secured Enterprise App     aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 00001111-aaaa-2222-bbbb-3333cccc4444 AzureADMyOrg        Application

Cet exemple montre comment combiner les paramètres AssignmentRequired et ApplicationType pour filtrer les applications d’entreprise qui nécessitent une attribution d’utilisateur.

Paramètres

-All

Répertorier toutes les pages.

Propriétés du paramètre

Type:System.Management.Automation.SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ApplicationType

Filtrez par type d’application. Les valeurs valides sont les suivantes :

  • AppProxyApps: applications proxy d’application
  • EnterpriseApps: Applications d’entreprise
  • ManagedIdentity: principaux du service d’identité managée
  • MicrosoftApps: Microsoft applications internes

Propriétés du paramètre

Type:System.String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

GetQuery
Position:Named
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
GetVague
Position:Named
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-AssignmentRequired

Filtrez en indiquant si l’attribution d’utilisateur est requise pour accéder à l’application. Lorsqu’il est défini sur $true, retourne uniquement les principaux de service pour lesquels une affectation d’utilisateur est requise. Lorsqu’il est défini sur $false, retourne uniquement les objets Service Principal pour lesquels l’affectation d’utilisateur n’est pas requise.

Propriétés du paramètre

Type:System.Boolean
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

GetQuery
Position:Named
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
GetVague
Position:Named
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Filter

Spécifie une instruction de filtre OData v4.0. Ce paramètre contrôle les objets retournés.

Propriétés du paramètre

Type:System.String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

GetQuery
Position:Named
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Property

Spécifie les propriétés à retourner.

Propriétés du paramètre

Type:

System.String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Sélectionnez

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-SearchString

Spécifie une chaîne de recherche.

Propriétés du paramètre

Type:System.String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

GetVague
Position:Named
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-ServicePrincipalId

Spécifie l’ID d’un principal de service dans Microsoft Entra ID.

Propriétés du paramètre

Type:System.String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Identifiant d'objet (ObjectId)

Jeux de paramètres

GetById
Position:Named
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Top

Spécifie le nombre maximal d’enregistrements à retourner.

Propriétés du paramètre

Type:System.Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Limite

Jeux de paramètres

GetQuery
Position:Named
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.