Get-EntraApplication
Ruft eine Anwendung ab.
Syntax
GetQuery (Standard)
Get-EntraApplication
[-Filter <String>]
[-All]
[-Top <Int32>]
[-Property <String[]>]
[<CommonParameters>]
GetByValue
Get-EntraApplication
[-SearchString <String>]
[-All]
[-Property <String[]>]
[<CommonParameters>]
GetById
Get-EntraApplication
-ApplicationId <String>
[-Property <String[]>]
[-All]
[<CommonParameters>]
Beschreibung
Das Get-EntraApplication Cmdlet ruft eine Microsoft Entra ID Anwendung ab.
Beispiele
Beispiel 1: Abrufen einer Anwendung nach ApplicationId
Connect-Entra -Scopes 'Application.Read.All'
Get-EntraApplication -ApplicationId 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb'
DisplayName Id AppId SignInAudience PublisherDomain
----------- -- ----- -------------- ---------------
ToGraph_443democc3c aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb bbbbbbbb-1111-2222-3333-cccccccccccc AzureADMyOrg contoso.com
In diesem Beispiel wird veranschaulicht, wie Sie eine bestimmte Anwendung abrufen, indem Sie die ID angeben.
Beispiel 2: Abrufen aller Anwendungen
Connect-Entra -Scopes 'Application.Read.All'
Get-EntraApplication -All
DisplayName Id AppId SignInAudience PublisherDomain
----------- -- ----- -------------- ---------------
test app aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb bbbbbbbb-1111-2222-3333-cccccccccccc AzureADandPersonalMicrosoftAccount contoso.com
ToGraph_443DEM cccccccc-4444-5555-6666-dddddddddddd dddddddd-5555-6666-7777-eeeeeeeeeeee AzureADMyOrg contoso.com
test adms eeeeeeee-6666-7777-8888-ffffffffffff ffffffff-7777-8888-9999-gggggggggggg AzureADandPersonalMicrosoftAccount contoso.com
test adms app azure gggggggg-8888-9999-aaaa-hhhhhhhhhhhh hhhhhhhh-9999-aaaa-bbbb-iiiiiiiiiiii AzureADandPersonalMicrosoftAccount contoso.com
test adms2 iiiiiiii-aaaa-bbbb-cccc-jjjjjjjjjjjj jjjjjjjj-bbbb-cccc-dddd-kkkkkkkkkkkk AzureADandPersonalMicrosoftAccount contoso.com
In diesem Beispiel wird veranschaulicht, wie alle Anwendungen aus Microsoft Entra ID abgerufen werden.
Beispiel 3: Abrufen aller Anwendungen ohne Besitzer (besitzerlose Anwendungen)
Connect-Entra -Scopes 'Application.Read.All'
$apps = Get-EntraApplication -All
$appsWithoutOwners = @()
foreach ($app in $apps) {
try {
$owners = Get-EntraApplicationOwner -ApplicationId $app.Id
if (-not $owners) {
$appsWithoutOwners += $app
}
}
catch {
Write-Warning "Failed to check owners for app: $($app.DisplayName)"
}
# Optional: throttle to avoid rate limits (especially in large tenants)
#Start-Sleep -Milliseconds 100
}
$appsWithoutOwners | Select-Object DisplayName, Id, AppId
DisplayName Id AppId
----------- -- -----
Contoso HR App aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb bbbbbbbb-1111-2222-3333-cccccccccccc
Contoso Helpdesk App cccccccc-4444-5555-6666-dddddddddddd dddddddd-5555-6666-7777-eeeeeeeeeeee
Contoso Helpdesk App eeeeeeee-6666-7777-8888-ffffffffffff hhhhhhhh-9999-aaaa-bbbb-iiiiiiiiiiii
In diesem Beispiel wird veranschaulicht, wie sie alle Anwendungen ohne Besitzer von Microsoft Entra ID abrufen.
Beispiel 4: Abrufen von Anwendungen mit ablaufenden geheimen Schlüsseln in 30 Tagen
$expirationThreshold = (Get-Date).AddDays(30)
$appsWithExpiringPasswords = Get-EntraApplication -All | Where-Object { $_.PasswordCredentials } |
ForEach-Object {
$app = $_
$app.PasswordCredentials | Where-Object { $_.EndDate -le $expirationThreshold } |
ForEach-Object {
[PSCustomObject]@{
DisplayName = $app.DisplayName
AppId = $app.AppId
SecretDisplayName = $_.DisplayName
KeyId = $_.KeyId
ExpiringSecret = $_.EndDate
}
}
}
$appsWithExpiringPasswords | Format-Table DisplayName, AppId, SecretDisplayName, KeyId, ExpiringSecret -AutoSize
DisplayName AppId SecretDisplayName KeyId ExpiringSecret
----------- ----- ----------------- ----- --------------
Helpdesk Application dddddddd-5555-6666-7777-eeeeeeeeeeee Helpdesk Password aaaaaaaa-0b0b-1c1c-2d2d-333333333333 11/18/2024
In diesem Beispiel werden Anwendungen mit ablaufenden geheimen Schlüsseln innerhalb von 30 Tagen abgerufen.
Beispiel 5: Abrufen von Anwendungen mit ablaufenden Zertifikaten in 30 Tagen
$expirationThreshold = (Get-Date).AddDays(30)
$appsWithExpiringKeys = Get-EntraApplication -All | Where-Object { $_.KeyCredentials } |
ForEach-Object {
$app = $_
$app.KeyCredentials | Where-Object { $_.EndDate -le $expirationThreshold } |
ForEach-Object {
[PSCustomObject]@{
DisplayName = $app.DisplayName
AppId = $app.AppId
CertificateDisplayName = $_.DisplayName
KeyId = $_.KeyId
ExpiringKeys = $_.EndDate
}
}
}
$appsWithExpiringKeys | Format-Table DisplayName, AppId, CertificateDisplayName, KeyId, ExpiringKeys -AutoSize
DisplayName AppId CertificateDisplayName KeyId ExpiringKeys
----------- ----- ---------------------- ----- ------------
Helpdesk Application dddddddd-5555-6666-7777-eeeeeeeeeeee My cert aaaaaaaa-0b0b-1c1c-2d2d-333333333333 6/27/2024 11:49:17 AM
In diesem Beispiel werden Anwendungen mit ablaufenden Zertifikaten innerhalb von 30 Tagen abgerufen.
Beispiel 6: Abrufen einer Anwendung anhand des Anzeigenamens
Connect-Entra -Scopes 'Application.Read.All'
Get-EntraApplication -Filter "DisplayName eq 'ToGraph_443DEMO'"
DisplayName Id AppId SignInAudience PublisherDomain
----------- -- ----- -------------- ---------------
ToGraph_443DEMO cccccccc-4444-5555-6666-dddddddddddd dddddddd-5555-6666-7777-eeeeeeeeeeee AzureADMyOrg contoso.com
In diesem Beispiel rufen wir die Anwendung anhand ihres Anzeigenamens aus Microsoft Entra ID ab.
Beispiel 7: Suchen zwischen abgerufenen Anwendungen
Connect-Entra -Scopes 'Application.Read.All'
Get-EntraApplication -SearchString 'My new application 2'
DisplayName Id AppId SignInAudience PublisherDomain
----------- -- ----- -------------- ---------------
My new application 2 kkkkkkkk-cccc-dddd-eeee-llllllllllll llllllll-dddd-eeee-ffff-mmmmmmmmmmmm AzureADandPersonalMicrosoftAccount contoso.com
In diesem Beispiel wird veranschaulicht, wie Anwendungen für bestimmte Zeichenfolgen aus Microsoft Entra ID abgerufen werden.
Beispiel 8: Abrufen einer Anwendung nach Bezeichneruris
Connect-Entra -Scopes 'Application.Read.All'
Get-EntraApplication -Filter "identifierUris/any(uri:uri eq 'https://wingtips.wingtiptoysonline.com')"
In diesem Beispiel wird veranschaulicht, wie Anwendungen anhand der bezeichneruris aus Microsoft Entra ID abgerufen werden.
Beispiel 9: Auflisten der top 2 Anwendungen
Connect-Entra -Scopes 'Application.Read.All'
Get-EntraApplication -Top 2
DisplayName Id AppId SignInAudience PublisherDomain
----------- -- ----- -------------- ---------------
test app aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb bbbbbbbb-1111-2222-3333-cccccccccccc AzureADandPersonalMicrosoftAccount contoso.com
ToGraph_443DEM cccccccc-4444-5555-6666-dddddddddddd dddddddd-5555-6666-7777-eeeeeeeeeeee AzureADMyOrg contoso.com
In diesem Beispiel wird gezeigt, wie Sie zwei Anwendungen abrufen können. Sie können -Limit als Alias für -Top verwenden.
Beispiel 10: Auflisten von Anwendungs-App-Rollen
Connect-Entra -Scopes 'Application.Read.All'
$application = Get-EntraApplication -SearchString 'Contoso Helpdesk Application'
$application.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
In diesem Beispiel wird gezeigt, wie Sie App-Rollen für eine Anwendung abrufen können.
Beispiel 11: Listenanwendung oauth2PermissionScopes (delegierte Berechtigungen, die von der App verfügbar gemacht werden)
Connect-Entra -Scopes 'Application.Read.All'
(Get-EntraApplication -Filter "displayName eq 'Contoso Helpdesk Application'").Api.Oauth2PermissionScopes
AdminConsentDescription : Allows the app to read HR data on behalf of users.
AdminConsentDisplayName : Read HR Data
Id : bbbbbbbb-1111-2222-3333-cccccccccccc
IsEnabled : True
Origin :
Type : User
UserConsentDescription : Allows the app to read your HR data.
UserConsentDisplayName : Read your HR data
Value : HR.Read.All
In diesem Beispiel wird gezeigt, wie Sie (d. h. delegierte Berechtigungen, die von der App verfügbar gemacht werden) für einen Dienstprinzipal abrufen oauth2PermissionScopes können. Diese Bereiche sind Teil des Anwendungsobjekts.
Beispiel 12: Auflisten von Anwendungen und deren geheimen Details
Connect-Entra -Scopes 'Application.Read.All'
Get-EntraApplication -All -Property displayName, appId, passwordCredentials |
Where-Object { $_.PasswordCredentials } |
ForEach-Object {
$app = $_
foreach ($cred in $app.PasswordCredentials) {
[PSCustomObject]@{
DisplayName = $app.DisplayName
AppId = $app.AppId
PasswordCredentialsDisplayName = $cred.DisplayName
PasswordCredentialStartDate = $cred.StartDate
PasswordCredentialEndDate = $cred.EndDate
}
}
} |
Format-Table -AutoSize
DisplayName AppId PasswordCredentialsDisplayName PasswordCredentialStartDate PasswordCredentialEndDate
----------- ----- ------------------------------ --------------------------- -------------------------
Helpdesk Application gggggggg-6666-7777-8888-hhhhhhhhhhhh Helpdesk Application Password 8/20/2024 7:54:25 AM 11/18/2024 7:54:25 AM
Helpdesk Application gggggggg-6666-7777-8888-hhhhhhhhhhhh Helpdesk Application Backend 8/7/2024 4:36:49 PM 2/3/2025 4:36:49 PM
Contoso Automation App bbbbbbbb-1111-2222-3333-cccccccccccc AI automation Cred 5/3/2025 7:03:11 PM 5/3/2026 7:03:11 PM
In diesem Beispiel wird gezeigt, wie Sie Anwendungen mit geheimen Schlüsseln abrufen können.
Parameter
-All
Alle Seiten auflisten.
Parametereigenschaften
| Typ: | System.Management.Automation.SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ApplicationId
Gibt die ID einer Anwendung in Microsoft Entra ID an.
Parametereigenschaften
| Typ: | System.String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Objekt-ID |
Parametersätze
GetById
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Filter
Gibt eine OData v4.0-Filter-Anweisung an. Dieser Parameter steuert, welche Objekte zurückgegeben werden.
Parametereigenschaften
| Typ: | System.String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
GetQuery
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Property
Gibt eigenschaften an, die zurückgegeben werden sollen
Parametereigenschaften
| Typ: | System.String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Select |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-SearchString
Gibt eine Suchzeichenfolge an.
Parametereigenschaften
| Typ: | System.String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
GetVague
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Top
Gibt die maximale Anzahl der zurückzugebenden Datensätze an.
Parametereigenschaften
| Typ: | System.Int32 |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Begrenzung |
Parametersätze
GetQuery
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.