Search-UnifiedAuditLog
Dieses Cmdlet ist nur im cloudbasierten Dienst verfügbar.
Verwenden Sie das Cmdlet Search-UnifiedAuditLog, um das einheitliche Überwachungsprotokoll zu suchen. Dieses Protokoll enthält Ereignisse von Exchange Online, SharePoint Online, OneDrive for Business, Azure Active Directory, Microsoft Teams, Power BI und anderen Microsoft 365-Diensten. Sie können nach allen Ereignissen in einem angegebenen Datumsbereich suchen oder die Ergebnisse nach bestimmten Kriterien filtern, z. B. nach dem Benutzer, der die Aktion ausgeführt hat, der Aktion oder dem Zielobjekt.
Informationen zu den Parametersätzen im Abschnitt zur Syntax weiter unten finden Sie unter Syntax der Exchange-Cmdlets.
Syntax
Search-UnifiedAuditLog
-EndDate <ExDateTime>
-StartDate <ExDateTime>
[-Formatted]
[-FreeText <String>]
[-IPAddresses <String[]>]
[-ObjectIds <String[]>]
[-Operations <String[]>]
[-RecordType <AuditRecordType>]
[-ResultSize <Int32>]
[-SessionCommand <UnifiedAuditSessionCommand>]
[-SessionId <String>]
[-SiteIds <String[]>]
[-UserIds <String[]>]
[<CommonParameters>]
Beschreibung
Das Cmdlet Search-UnifiedAuditLog präsentiert Seiten von Daten basierend auf wiederholten Iterationen desselben Befehls. Verwenden Sie SessionId und SessionCommand, um das Cmdlet wiederholt auszuführen, bis Sie keine Ergebnisse erhalten oder die maximale Anzahl von Ergebnissen auf Grundlage des Sitzungsbefehls erreicht ist. Um den Fortschritt zu messen, sehen Sie sich die Eigenschaften ResultIndex (Treffer in der aktuellen Iteration) und ResultCount (Treffer für alle Iterationen) der vom Cmdlet zurückgegebenen Daten an.
Das Cmdlet Search-UnifiedAuditLog ist in Exchange Online PowerShell verfügbar. Sie können Ereignisse auch aus dem einheitlichen Überwachungsprotokoll anzeigen, indem Sie die Microsoft Purview-Complianceportal verwenden. Weitere Informationen finden Sie unter Überwachte Aktivitäten.
Wenn Sie Daten programmgesteuert aus dem Microsoft 365-Überwachungsprotokoll herunterladen möchten, empfiehlt es sich, die Microsoft 365-Verwaltungsaktivitäts-API anstelle des Cmdlets Search-UnifiedAuditLog in einem PowerShell-Skript zu verwenden. Die Microsoft 365-Verwaltungsaktivitäts-API ist ein REST-Webdienst, mit dem Sie Betriebs-, Sicherheits- und Complianceüberwachungslösungen für Ihre Organisation entwickeln können. Weitere Informationen finden Sie unter Referenz zur Verwaltungsaktivitäts-API.
Dieses Cmdlet ist in Office 365 verfügbar, das von 21Vianet betrieben wird, gibt jedoch keine Ergebnisse zurück.
Der Parameter OutVariable akzeptiert Objekte vom Typ ArrayList. Hier sehen Sie ein Beispiel für die Verwendung:
$start = (Get-Date).AddDays(-1); $end = (Get-Date).AddDays(-0.5); $auditData = New-Object System.Collections.ArrayList; Search-UnifiedAuditLog -StartDate $start -EndDate $end -OutVariable +auditData | Out-Null
Bevor Sie dieses Cmdlet ausführen können, müssen Ihnen die entsprechenden Berechtigungen zugewiesen werden. Auch wenn in diesem Thema alle Parameter für das Cmdlet aufgeführt werden, verfügen Sie möglicherweise nicht über den Zugriff auf einige Parameter, wenn sie nicht in den Ihnen zugewiesenen Berechtigungen enthalten sind. Wie Sie herausfinden, welche Berechtigungen zur Ausführung eines bestimmten Cmdlets oder Parameters in Ihrer Organisation erforderlich sind, können Sie unter Find the permissions required to run any Exchange cmdlet nachlesen.
Beispiele
Beispiel 1
Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/2/2018
In diesem Beispiel wird das einheitliche Überwachungsprotokoll nach allen Ereignissen vom 1. Mai 201812:00 Uhr bis zum 2. Mai 2018 um 12:00 Uhr durchsucht.
Hinweis: Wenn der Wert für die StartDate- oder EndDate-Parameter keinen Zeitstempel enthält, wird der standardmäßige Zeitstempel 00:00 Uhr (Mitternacht) verwendet.
Beispiel 2
Search-UnifiedAuditLog -StartDate "6/1/2018 8:00 AM" -EndDate "6/1/2018 6:00 PM" -RecordType ExchangeAdmin
In diesem Beispiel wird das einheitliche Überwachungsprotokoll nach allen Exchange-Administratorereignissen vom 1. Juni 2018 von 8:00 bis 18:00 Uhr durchsucht.
Hinweis Wenn Sie dasselbe Datum für die Parameter StartDate und EndDate verwenden, müssen Sie einen Zeitstempel einschließen. Andernfalls werden keine Ergebnisse zurückgegeben, da Datum und Uhrzeit für das Start- und Enddatum identisch sind.
Beispiel 3
Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/8/2018 -SessionId "UnifiedAuditLogSearch 05/08/17" -SessionCommand ReturnLargeSet
In diesem Beispiel wird das einheitliche Überwachungsprotokoll nach allen Ereignissen vom 1. Mai 2018 bis zum 8. Mai 2018 durchsucht. Wenn Sie keinen Zeitstempel in die Parameter StartDate oder EndDate einschließen, werden die Daten auf Seiten zurückgegeben, während der Befehl sequenziell unter Verwendung desselben SessionId-Werts erneut ausgeführt wird.
Hinweis: Verwenden Sie immer den gleichen SessionCommand-Wert für einen bestimmten SessionId-Wert. Wechseln Sie nicht zwischen ReturnLargeSet und ReturnNextPreviewPage für die gleiche Sitzungs-ID. Andernfalls ist die Ausgabe auf 10.000 Ergebnisse beschränkt.
Beispiel 4
Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/8/2018 -RecordType SharePointFileOperation -Operations FileAccessed -SessionId "WordDocs_SharepointViews"-SessionCommand ReturnLargeSet
In diesem Beispiel wird das einheitliche Überwachungsprotokoll nach Dateien durchsucht, auf die vom 1. Mai 2018 bis zum 8. Mai 2018 in SharePoint Online zugegriffen wird. Die Daten werden in Seiten zurückgegeben, während der Befehl sequenziell unter Verwendung desselben SessionId-Werts erneut ausgeführt wird.
Beispiel 5
Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/8/2018 -ObjectIDs "https://alpinehouse.sharepoint.com/sites/contoso/Departments/SM/International/Shared Documents/Sales Invoice - International.docx"
In diesem Beispiel wird das einheitliche Überwachungsprotokoll vom 1. Mai 2018 bis zum 8. Mai 2018 nach allen Ereignissen im Zusammenhang mit einem bestimmten Word-Dokument durchsucht, das durch seinen ObjectIDs-Wert identifiziert wird.
Parameter
-EndDate
Der EndDate-Parameter gibt das Enddatum des Datumsbereichs an. Einträge werden im einheitlichen Überwachungsprotokoll in koordinierter Weltzeit (UTC) gespeichert. Wenn Sie einen Datums-/Uhrzeitwert ohne Zeitzone angeben, wird der Wert in UTC angegeben.
Verwenden Sie eine der folgenden Optionen, um einen Datum/Uhrzeit-Wert für diesen Parameter anzugeben:
- Geben Sie den Datums-/Uhrzeitwert in UTC an: Beispiel:
"2018-05-06 14:30:00z"
. - Geben Sie den Datums-/Uhrzeitwert als Formel an,
(Get-Date "5/6/2018 9:30 AM").ToUniversalTime()
die das Datum/die Uhrzeit in Ihrer lokalen Zeitzone in UTC konvertiert: Beispiel: . Weitere Informationen finden Sie unter Get-Date.
Wenn der Wert für diesen Parameter keinen Zeitstempel enthält, wird der standardmäßige Zeitstempel 00:00 Uhr (Mitternacht) für das angegebene Datum verwendet.
Type: | ExDateTime |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-Formatted
Die Formatted-Option bewirkt, dass die Attribute als ganze Zahlen zurückgegeben werden (z. B. RecordType und Operation), die als beschreibende Zeichenfolgen formatiert werden. Sie müssen bei dieser Option keinen Wert angeben.
Darüber hinaus wird AuditData durch diesen Schalter besser lesbar.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-FreeText
Der FreeText-Parameter filtert die Protokolleinträge nach der angegebenen Textzeichenfolge. Wenn der Wert Leerzeichen enthält, setzen Sie ihn in Anführungszeichen (").
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-IPAddresses
Der IPAddresses-Parameter filtert die Protokolleinträge nach den angegebenen IP-Adressen. Mehrere IP-Adressen können durch Kommas getrennt angegeben werden.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-ObjectIds
Der Parameter ObjectIds filtert die Protokolleinträge nach Objekt-ID. Die Objekt-ID ist das Zielobjekt, auf das reagiert wurde, und hängt von den RecordType- und Operations-Werten des Ereignisses ab. Bei SharePoint-Vorgängen ist die Objekt-ID beispielsweise der URL-Pfad zu einer Datei, einem Ordner oder einer Website. Bei Azure Active Directory-Vorgängen ist die Objekt-ID der Kontoname oder der GUID-Wert des Kontos.
Der ObjectId-Wert wird in der AuditData-Eigenschaft (auch bekannt als Details) des Ereignisses angezeigt.
Mehrere Werte können durch Kommata getrennt eingegeben werden. Wenn die Werte Leerzeichen oder anderweitig erforderliche Anführungszeichen enthalten, verwenden Sie die folgende Syntax: "Value1","Value2",..."ValueN"
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-Operations
Der Parameter Operations filtert die Protokolleinträge nach Vorgang. Die verfügbaren Werte für diesen Parameter sind vom Wert RecordType abhängig. Eine Liste der verfügbaren Werte für diesen Parameter finden Sie unter Überwachte Aktivitäten.
Mehrere Werte können durch Kommata getrennt eingegeben werden. Wenn die Werte Leerzeichen oder anderweitig erforderliche Anführungszeichen enthalten, verwenden Sie die folgende Syntax: "Value1","Value2",..."ValueN"
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-RecordType
Der RecordType-Parameter filtert die Protokolleinträge nach Datensatztyp. Ausführliche Informationen zu den verfügbaren Werten finden Sie unter AuditLogRecordType.
Type: | AuditRecordType |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-ResultSize
Der ResultSize-Parameter gibt die maximale Anzahl von zurückzugebenden Ergebnissen an. Der Standardwert ist 100, der Maximalwert ist 5.000.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-SessionCommand
Der SessionCommand-Parameter gibt an, wie viele Informationen zurückgegeben werden und wie sie organisiert sind. Gültige Werte sind:
- ReturnLargeSet: Dieser Wert bewirkt, dass das Cmdlet unsortierte Daten zurückgibt. Durch Paging können Sie auf bis zu 50.000 Ergebnisse zugreifen. Dies ist der empfohlene Wert, wenn kein geordnetes Ergebnis erforderlich ist und für die Suchlatenz optimiert wurde.
- ReturnNextPreviewPage: Dieser Wert bewirkt, dass das Cmdlet Daten zurückgibt, die nach Datum sortiert sind. Die maximale Anzahl von durch Paging oder den ResultSize-Parameter zurückgegebenen Datensätzen ist 5.000.
Hinweis: Verwenden Sie immer den gleichen SessionCommand-Wert für einen bestimmten SessionId-Wert. Wechseln Sie nicht zwischen ReturnLargeSet und ReturnNextPreviewPage für die gleiche Sitzungs-ID. Andernfalls ist die Ausgabe auf 10.000 Ergebnisse beschränkt.
Type: | UnifiedAuditSessionCommand |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-SessionId
Der SessionId-Parameter gibt eine ID an, die Sie als Zeichenfolge bereitstellen, um einen Befehl (das Cmdlet und die zugehörigen Parameter) zu identifizieren, der mehrfach ausgeführt wird und seitennummerierte Daten zurückgibt. SessionId kann ein beliebiger von Ihnen ausgewählter Zeichenfolgenwert sein.
Wenn das Cmdlet sequenziell mit derselben Sitzungs-ID ausgeführt wird, gibt das Cmdlet die Daten in sequenziellen Blöcken der von ResultSize angegebenen Größe zurück.
Wenn Sie für eine gegebene Sitzungs-ID den SessionCommand-Wert ReturnLargeSet und dann den SessionCommand-Wert ReturnNextPreviewPage verwenden, sind die Ergebnisse auf 10.000 Datensätze beschränkt. Damit alle 50.000 Datensätze zur Verfügung stehen, verwenden Sie immer den ReturnLargeSet-Wert, wenn Sie das Cmdlet für die gleiche Sitzungs-ID ausführen.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-SiteIds
Der Parameter SiteIds filtert die Protokolleinträge nach der SharePoint-Website-Id (GUID). Sie können mehrere Werte durch Kommas getrennt eingeben: Value1, Value2,...ValueN
.
Um die SiteId für eine SharePoint-Website abzurufen, fügen /_api/site/id
Sie an die URL der Websitesammlung an, die Sie angeben möchten. Ändern Sie beispielsweise die URL https://contoso.sharepoint.com/sites/hr-project
in https://contoso.sharepoint.com/sites/hr-project/_api/site/id
. Eine XML-Nutzlast wird zurückgegeben, und die SiteId für die Websitesammlung wird in der Edm.Guid-Eigenschaft angezeigt. Beispiel: <d:Id xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml" m:type="Edm.Guid">14ab81b6-f23d-476a-8cac-ad5dbd2910f7</d:Id>
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-StartDate
Der StartDate-Parameter gibt das Startdatum und die Uhrzeit des Datumsbereichs an. Einträge werden im einheitlichen Überwachungsprotokoll in koordinierter Weltzeit (UTC) gespeichert. Wenn Sie einen Datums-/Uhrzeitwert ohne Zeitzone angeben, wird der Wert in UTC angegeben.
Verwenden Sie eine der folgenden Optionen, um einen Datum/Uhrzeit-Wert für diesen Parameter anzugeben:
- Geben Sie den Datums-/Uhrzeitwert in UTC an: Beispiel:
"2018-05-06 14:30:00z"
. - Geben Sie den Datums-/Uhrzeitwert als Formel an,
(Get-Date "5/6/2018 9:30 AM").ToUniversalTime()
die das Datum/die Uhrzeit in Ihrer lokalen Zeitzone in UTC konvertiert: Beispiel: . Weitere Informationen finden Sie unter Get-Date.
Wenn der Wert für diesen Parameter keinen Zeitstempel enthält, wird der standardmäßige Zeitstempel 00:00 Uhr (Mitternacht) für das angegebene Datum verwendet.
Type: | ExDateTime |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |
-UserIds
Der Parameter UserIds filtert die Protokolleinträge nach dem Konto (UserPrincipalName) des Benutzers, der die Aktion ausgeführt hat. Beispiel: laura@contoso.onmicrosoft.com.
Mehrere Werte können durch Kommata getrennt eingegeben werden. Wenn die Werte Leerzeichen oder anderweitig erforderliche Anführungszeichen enthalten, verwenden Sie die folgende Syntax: "Value1","Value2",..."ValueN"
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online, Exchange Online Protection |