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