Get-EntraBetaAuditSignInLog
Abrufen von Überwachungsprotokollen von Anmeldungen.
Syntax
Default (Standard)
Get-EntraBetaAuditSignInLog
[-All]
[-Top <Int32>]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Beschreibung
Das Get-EntraBetaAuditSignInLog Cmdlet ruft das Microsoft Entra ID Anmeldeprotokoll ab.
Zusätzlich zu delegierten Berechtigungen muss der angemeldete Benutzer mindestens einer der folgenden Microsoft Entra Rollen angehören, um Anmeldeberichte zu lesen:
- Globaler Leser
- Berichtleseberechtigte
- Sicherheitsadministrator
- Sicherheitsoperator
- Sicherheitsleser
Beispiele
Beispiel 1: Abrufen aller Protokolle
Connect-Entra -Scopes 'AuditLog.Read.All','Directory.Read.All'
Get-EntraBetaAuditSignInLog -All
Id AppDisplayName AppId AppTokenProtectionStatus AuthenticationMethodsUsed AuthenticationProtocol
-- -------------- ----- ------------------------ ------------------------- ----------------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Azure Active Directory PowerShell 00001111-aaaa-2222-bbbb-3333cccc4444 {} none
bbbbbbbb-1111-2222-3333-cccccccccccc Azure Portal 11112222-bbbb-3333-cccc-4444dddd5555 {} none
cccccccc-2222-3333-4444-dddddddddddd Azure Active Directory PowerShell 22223333-cccc-4444-dddd-5555eeee6666 {} none
dddddddd-3333-4444-5555-eeeeeeeeeeee Azure Active Directory PowerShell 33334444-dddd-5555-eeee-6666ffff7777 {} none
In diesem Beispiel werden alle Überwachungsprotokolle von Anmeldungen zurückgegeben.
Beispiel 2: Auflisten von Anmelderichtlinien mit fehlerhaften Richtlinien für bedingten Zugriff
Connect-Entra -Scopes 'AuditLog.Read.All','Directory.Read.All'
Get-EntraBetaAuditSignInLog -Filter "conditionalAccessStatus eq 'failure'" -Limit 10 | Select-Object id, userDisplayName, createdDateTime, appDisplayName, status
id : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
userDisplayName : Saywer Miller
createdDateTime : 03/08/2025 04:03:14
appDisplayName : Microsoft Edge
status : @{errorCode=50158; failureReason=External security challenge not satisfied. User will be redirected to another page or authentication provider to satisfy additional authentication challenges.; additionalDetails=The user is required to satisfy additional require
ments before finishing authentication, and was redirected to another page (such as terms of use or a third party MFA provider). This code alone does not indicate a failure on your users part to sign in. The sign in logs may indicate that this challenge was succ
esfully passed or failed.}
In diesem Beispiel werden alle Überwachungsprotokolle von Anmelderichtlinien zurückgegeben, bei der der bedingte Zugriff fehlschlägt.
Beispiel 3: Auflisten von Anmeldungen von nicht kompatiblen Geräten
Connect-Entra -Scopes 'AuditLog.Read.All','Directory.Read.All'
Get-EntraBetaAuditSignInLog -Filter "deviceDetail/isCompliant eq false" -Top 1 | Select-Object id, userDisplayName, appDisplayName, clientAppUsed, conditionalAccessStatus, deviceDetail, status
id : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
userDisplayName : Sawyer Miller
appDisplayName : Security Copilot
clientAppUsed : Browser
conditionalAccessStatus : success
deviceDetail : @{operatingSystem=Windows10; trustType=Azure AD registered; 22223333-cccc-4444-dddd-5555eeee6666; isCompliant=False; isManaged=False; browser=Edge 133.0.0; displayName=devbox}
status : @{errorCode=50011; failureReason=The {redirectTerm} '{replyAddress}' specified in the request does not match the {redirectTerm}s configured for the application '{identifier}'. Make sure the {redirectTerm} sent in the request matches one added to your ap
plication in the Azure portal. Navigate to {akamsLink} to learn more about how to fix this. {detail}; additionalDetails=Developer error - the app is attempting to sign in without the necessary or correct authentication parameters.}
In diesem Beispiel werden alle Überwachungsprotokolle von Anmeldungen von nicht kompatiblen Geräten zurückgegeben.
Beispiel 4: Auflisten von Anmeldefehlern aufgrund einer bestimmten Richtlinie für bedingten Zugriff
Connect-Entra -Scopes 'AuditLog.Read.All','Directory.Read.All'
$policyId = "dcf66a39-965f-4958-871f-f62613b6cabd"
Get-EntraBetaAuditSignInLog -Filter "
conditionalAccessStatus eq 'failure'
and appliedConditionalAccessPolicies/any(c:c/id eq '$policyId' and c/result eq 'failure')" -Limit 1 |
Select-Object id, userDisplayName, appDisplayName, clientAppUsed,
conditionalAccessStatus, status, appliedConditionalAccessPolicies
id : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
userDisplayName : ASawyer Miller
appDisplayName : Azure Portal
clientAppUsed : Browser
conditionalAccessStatus : failure
status : @{errorCode=50158; failureReason=External security challenge not satisfied. User will be redirected to another page or authentication provider to satisfy additional authentication challenges.; additionalDetails=The user is required to satisfy a
dditional requirements before finishing authentication, and was redirected to another page (such as terms of use or a third party MFA provider). This code alone does not indicate a failure on your users part to sign in. The sign in logs may ind
icate that this challenge was succesfully passed or failed.}
appliedConditionalAccessPolicies : {@{id=22223333-cccc-4444-dddd-5555eeee6666; enforcedSessionControls=System.Object[]; displayName=CAX - All Contoso (and Guest) Users; result=failure; enforcedGrantControls=System.Object[]}, @{id=00001111-aaaa-2222-bbbb-3333cccc4444; enf
orcedSessionControls=System.Object[]; displayName=CA01 - MFA - All Apps - All Users; result=success; enforcedGrantControls=System.Object[]}, @{id=22223333-cccc-4444-dddd-5555eeee6666; enforcedSessionControl
s=System.Object[]; displayName=CA001 - Require Passwordless Auth and TAP - All Users; result=success; enforcedGrantControls=System.Object[]}, @{id=33334444-dddd-5555-eeee-6666ffff7777; enforcedSessionControls=System.Object[]; displayName=CA14 -
Require MFA for VPN Access; result=notApplied; enforcedGrantControls=System.Object[]}…}
In diesem Beispiel werden alle Überwachungsprotokolle von Anmeldefehlern aufgrund einer bestimmten Richtlinie für bedingten Zugriff zurückgegeben.
Beispiel 5: Riskante Anmeldungen auflisten
Connect-Entra -Scopes 'AuditLog.Read.All','Directory.Read.All'
Get-EntraBetaAuditSignInLog -Filter "
(riskLevelDuringSignIn ne 'none' or
riskEventTypes_v2/any(r:r ne 'none'))
" -Limit 1 |
Select-Object id, userDisplayName, appDisplayName, clientAppUsed,
riskLevelDuringSignIn, riskEventTypes_v2
id : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
userDisplayName : Sawyer Miller
appDisplayName : Security Copilot
clientAppUsed : Browser
riskLevelDuringSignIn : low
riskEventTypes_v2 : {unfamiliarFeatures}
In diesem Beispiel werden alle Überwachungsprotokolle riskanter Anmeldungen zurückgegeben.
Beispiel 6: Abrufen von Anmeldungen ohne MFA
Connect-Entra -Scopes 'AuditLog.Read.All','Directory.Read.All'
Get-EntraBetaAuditSignInLog -Filter "authenticationRequirement ne 'multiFactorAuthentication' and isInteractive eq true"
Id AppDisplayName AppId AppTokenProtectionStatus AuthenticationMethodsUsed AuthenticationProtocol
-- -------------- ----- ------------------------ ------------------------- ----------------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Azure Active Directory PowerShell 00001111-aaaa-2222-bbbb-3333cccc4444 {} none
bbbbbbbb-1111-2222-3333-cccccccccccc Azure Portal 11112222-bbbb-3333-cccc-4444dddd5555 {} none
cccccccc-2222-3333-4444-dddddddddddd Azure Active Directory PowerShell 22223333-cccc-4444-dddd-5555eeee6666 {} none
dddddddd-3333-4444-5555-eeeeeeeeeeee Azure Active Directory PowerShell 33334444-dddd-5555-eeee-6666ffff7777 {} none
In diesem Beispiel werden alle Überwachungsprotokolle von Anmeldungen ohne MFA zurückgegeben.
Beispiel 7: Abrufen der ersten beiden Protokolle
Connect-Entra -Scopes 'AuditLog.Read.All','Directory.Read.All'
Get-EntraBetaAuditSignInLog -Top 2
Id AppDisplayName AppId AppTokenProtectionStatus AuthenticationMethodsUsed AuthenticationProtocol
-- -------------- ----- ------------------------ ------------------------- ----------------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Azure Active Directory PowerShell 00001111-aaaa-2222-bbbb-3333cccc4444 {} none
bbbbbbbb-1111-2222-3333-cccccccccccc Azure Portal 11112222-bbbb-3333-cccc-4444dddd5555 {} none
In diesem Beispiel werden die ersten beiden Überwachungsprotokolle von Anmeldungen zurückgegeben. Sie können -Limit als Alias für -Top.
Beispiel 8: Abrufen von Überwachungsprotokollen mit einem bestimmten AppDisplayName
Connect-Entra -Scopes 'AuditLog.Read.All','Directory.Read.All'
Get-EntraBetaAuditSignInLog -Filter "AppDisplayName eq 'Graph Explorer'" -Top 1
Id AppDisplayName AppId AppTokenProtectionStatus AuthenticationMethodsUsed AuthenticationProtocol
-- -------------- ----- ------------------------ ------------------------- ----------------------
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Graph Explorer PowerShell 00001111-aaaa-2222-bbbb-3333cccc4444
In diesem Beispiel wird veranschaulicht, wie Anmeldeprotokolle von AppDisplayName abgerufen werden. Sie können -Limit als Alias für -Top verwenden.
Beispiel 9: Abrufen aller Anmeldeprotokolle zwischen Datumsangaben
Connect-Entra -Scopes 'AuditLog.Read.All','Directory.Read.All'
Get-EntraBetaAuditSignInLog -Filter "createdDateTime ge 2024-07-01T00:00:00Z and createdDateTime le 2024-07-14T23:59:59Z"
In diesem Beispiel wird gezeigt, wie Anmeldeprotokolle zwischen Datumsangaben abgerufen werden.
Beispiel 10: Fehlgeschlagene Anmeldungen für einen Benutzer auflisten
Connect-Entra -Scopes 'AuditLog.Read.All','Directory.Read.All'
$failedSignIns = Get-EntraBetaAuditSignInLog -Filter "userPrincipalName eq 'SawyerM@contoso.com' and status/errorCode ne 0"
$failedSignIns | Select-Object UserPrincipalName, CreatedDateTime, Status, IpAddress, ClientAppUsed | Format-Table -AutoSize
In diesem Beispiel wird veranschaulicht, wie fehlgeschlagene Anmeldungen für einen Benutzer abgerufen werden.
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 |
-Filter
Die OData v4.0-Filter-Anweisung. Steuert, welche Objekte zurückgegeben werden.
Parametereigenschaften
| Typ: | System.String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| 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 |
-Top
Die maximale Anzahl der zurückzugebenden Datensätze.
Parametereigenschaften
| Typ: | System.Int32 |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Begrenzung |
Parametersätze
(All)
| 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.
Hinweise
Get-EntraBetaAuditSignInLogs ist ein Alias für Get-EntraBetaAuditSignInLog.