다음을 통해 공유


Search-UnifiedAuditLog

이 cmdlet은 클라우드 기반 서비스에서만 사용할 수 있습니다.

Search-UnifiedAuditLog cmdlet을 사용하여 통합 감사 로그를 검색합니다. 이 로그에는 Exchange Online, SharePoint Online, 비즈니스용 OneDrive, Azure Active Directory, Microsoft Teams, Power BI 및 기타 Microsoft 365 서비스의 이벤트가 포함됩니다. 지정된 날짜 범위의 모든 이벤트를 검색하거나 작업을 수행한 사용자, 작업 또는 대상 개체와 같은 특정 조건에 따라 결과를 필터링할 수 있습니다.

아래 구문 섹션에 있는 매개 변수 집합에 대한 자세한 내용은 Exchange cmdlet 구문을 참조하십시오.

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>]

Description

Search-UnifiedAuditLog cmdlet은 동일한 명령의 반복에 따라 데이터 페이지를 제공합니다. SessionId 및 SessionCommand를 사용하여 0개 반환값을 얻거나 세션 명령에 따라 최대 결과 수에 도달할 때까지 이 cmdlet을 반복해서 실행할 수 있습니다. 진행률을 측정하려면 cmdlet에서 반환된 데이터의 ResultIndex(현재 반복의 적중) 및 ResultCount(모든 반복에 대한 적중) 속성을 확인합니다.

Search-UnifiedAuditLog cmdlet은 Exchange Online PowerShell에서 사용할 수 있습니다. Microsoft Purview 규정 준수 포털 사용하여 통합 감사 로그에서 이벤트를 볼 수도 있습니다. 자세한 내용은 감사된 활동을 참조하세요.

Microsoft 365 감사 로그에서 프로그래밍 방식으로 데이터를 다운로드하려면 PowerShell 스크립트에서 Search-UnifiedAuditLog cmdlet을 사용하는 대신 Microsoft 365 관리 활동 API를 사용하는 것이 좋습니다. Microsoft 365 관리 활동 API는 조직의 운영, 보안 및 규정 준수 모니터링 솔루션을 개발하는 데 사용할 수 있는 REST 웹 서비스입니다. 자세한 내용은 관리 활동 API 참조를 참조하세요.

이 cmdlet은 21Vianet에서 작동하는 Office 365 사용할 수 있지만 결과를 반환하지는 않습니다.

OutVariable 매개 변수는 ArrayList 형식의 개체를 허용합니다. 사용하는 방법의 예는 다음과 같습니다.

$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

이 cmdlet을 실행하려면 먼저 사용 권한을 할당받아야 합니다. 이 항목에는 해당 cmdlet의 모든 매개 변수가 나열되지만 사용자에게 할당된 사용 권한에 포함되지 않은 일부 매개 변수에는 액세스할 수 없습니다. 조직에서 cmdlet 또는 매개 변수를 실행하는 데 필요한 사용 권한을 확인하려면 Find the permissions required to run any Exchange cmdlet를 참조하세요.

예제

예 1

Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/2/2018

이 예제에서는 2018년 5월 1일 오전 12:00부터 오전 5월 2일까지 201812:00의 모든 이벤트에 대한 통합 감사 로그를 검색합니다.

참고: StartDate 또는 EndDate 매개 변수 값에 타임스탬프를 포함하지 않으면 기본 타임스탬프 오전 12:00(자정)이 사용됩니다.

예 2

Search-UnifiedAuditLog -StartDate "6/1/2018 8:00 AM" -EndDate "6/1/2018 6:00 PM" -RecordType ExchangeAdmin

이 예제에서는 2018년 6월 1일 오전 8:00부터 오후 6:00까지 모든 Exchange 관리자 이벤트에 대한 통합 감사 로그를 검색합니다.

참고 StartDate 및 EndDate 매개 변수에 동일한 날짜를 사용하는 경우 타임스탬프를 포함해야 합니다. 그렇지 않으면 시작 날짜와 종료 날짜의 날짜와 시간이 같으므로 결과가 반환되지 않습니다.

예 3

Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/8/2018 -SessionId "UnifiedAuditLogSearch 05/08/17" -SessionCommand ReturnLargeSet

이 예제에서는 2018년 5월 1일부터 2018년 5월 8일까지의 모든 이벤트에 대한 통합 감사 로그를 검색합니다. StartDate 또는 EndDate 매개 변수에 타임스탬프를 포함하지 않으면 동일한 SessionId 값을 사용하는 동안 명령이 순차적으로 다시 실행되므로 데이터가 페이지에 반환됩니다.

참고: 지정된 SessionId 값에 대해 항상 동일한 SessionCommand를 사용합니다. 동일한 세션 ID에 대해 ReturnLargeSet 및 ReturnNextPreviewPage 간을 전환하지 마세요. 그렇지 않으면 출력이 10,000개 결과로 제한됩니다.

예 4

Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/8/2018 -RecordType SharePointFileOperation -Operations FileAccessed -SessionId "WordDocs_SharepointViews"-SessionCommand ReturnLargeSet

이 예제에서는 2018년 5월 1일부터 2018년 5월 8일까지 SharePoint Online에서 액세스하는 모든 파일에 대한 통합 감사 로그를 검색합니다. 동일한 SessionId 값을 사용하는 동안 명령이 순차적으로 다시 실행되면서 데이터가 페이지에 반환됩니다.

예 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"

다음은 2018년 5월 1일부터 2018년 5월 8일까지의 통합 감사 로그에서 ObjectID 값으로 식별된 특정 Word 문서와 관련된 모든 이벤트를 검색하는 예제입니다.

매개 변수

-EndDate

EndDate 매개 변수는 날짜 범위의 종료 날짜를 지정합니다. 항목은 UTC(협정 세계시)의 통합 감사 로그에 저장됩니다. 표준 시간대 없이 날짜/시간 값을 지정하면 값은 UTC입니다.

이 매개 변수에 대한 날짜/시간값을 지정하려면 다음 옵션 중 하나를 사용하십시오.

  • UTC에서 날짜/시간 값을 지정합니다(예 "2018-05-06 14:30:00z": ).
  • 날짜/시간 값을 현지 표준 시간대의 날짜/시간을 UTC로 변환하는 수식으로 지정합니다(예 (Get-Date "5/6/2018 9:30 AM").ToUniversalTime(): ). 자세한 내용은 Get-Date를 참조하세요.

이 매개 변수의 값에 타임스탬프를 포함하지 않으면 기본 타임스탬프는 지정된 날짜에 오전 12:00(자정)입니다.

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

Formatted 스위치를 사용하면 일반적으로 정수(예: RecordType 및 Operation)로 반환되는 특성이 설명 문자열로 형식이 지정됩니다. 이 스위치를 사용하면 값을 지정할 필요가 없습니다.

또한 이 스위치를 사용하면 AuditData를 더 쉽게 읽을 수 있습니다.

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

FreeText 매개 변수는 지정된 텍스트 문자열로 로그 항목을 필터링합니다. 값에 공백이 포함되어 있으면 값을 큰따옴표(")로 묶습니다.

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

IPAddresses 매개 변수는 지정된 IP 주소로 로그 항목을 필터링합니다. 여러 IP 주소를 쉼표로 구분하여 지정합니다.

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

ObjectIds 매개 변수는 개체 ID로 로그 항목을 필터링합니다. 개체 ID는 해당 ID가 작용한 대상 개체이며, 이벤트의 RecordType 및 Operations 값에 따라 좌우됩니다. 예를 들어 SharePoint 작업의 경우 개체 ID는 파일, 폴더 또는 사이트의 URL 경로입니다. Azure Active Directory 작업의 경우 개체 ID는 계정의 계정 이름 또는 GUID 값입니다.

ObjectId 값은 이벤트의 AuditData(Details라고도 알려짐) 속성에 나타납니다.

Update 값에 공백이 포함되거나 따옴표가 필요한 경우 다음 구문을 "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

Operations 매개 변수는 작업별로 로그 항목을 필터링합니다. 이 매개 변수의 사용 가능한 값은 RecordType 값에 따라 다릅니다. 이 매개 변수에 사용할 수 있는 값 목록은 감사된 활동을 참조하세요.

Update 값에 공백이 포함되거나 따옴표가 필요한 경우 다음 구문을 "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

RecordType 매개 변수는 레코드 유형별로 로그 항목을 필터링합니다. 사용 가능한 값에 대한 자세한 내용은 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

ResultSize 매개 변수는 반환할 최대 결과 수를 지정합니다. 기본값은 100이고 최대값은 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

SessionCommand 매개 변수는 반환되는 정보의 양과 구성 방법을 지정합니다. 유효한 값은 다음과 같습니다.

  • ReturnLargeSet: 이 값을 사용하면 cmdlet이 정렬되지 않은 데이터를 반환합니다. 페이징을 사용하면 최대 50,000개 결과에 액세스할 수 있습니다. 정렬된 결과가 필요하지 않고 검색 대기 시간에 최적화된 경우 권장되는 값입니다.
  • ReturnNextPreviewPage: 이 값을 사용하면 cmdlet이 날짜에 정렬된 데이터를 반환합니다. 페이징 또는 ResultSize 매개 변수를 사용하여 반환되는 최대 레코드 수는 5,000개 레코드입니다.

참고: 지정된 SessionId 값에 대해 항상 동일한 SessionCommand를 사용합니다. 동일한 세션 ID에 대해 ReturnLargeSet 및 ReturnNextPreviewPage 간을 전환하지 마세요. 그렇지 않으면 출력이 10,000개 결과로 제한됩니다.

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

SessionId 매개 변수는 문자열 형식으로 제공하는 ID를 지정하여 페이징 데이터를 반환하기 위해 여러 번 실행되는 명령(cmdlet 및 해당 매개 변수)을 식별합니다. SessionId는 사용자가 선택하는 어떤 문자열 값도 될 수 있습니다.

cmdlet이 동일한 세션 ID로 순차적으로 실행되면 cmdlet은 ResultSize에 지정된 크기의 순차적 블록으로 데이터를 반환합니다.

지정된 세션 ID에 대해 SessionCommand 값 ReturnLargeSet을 사용한 다음 SessionCommand 값 ReturnNextPreviewPage를 사용하는 경우 결과는 10,000개 레코드로 제한됩니다. 50,000개 레코드를 모두 사용할 수 있게 하려면 동일한 세션 ID에 대해 이 cmdlet을 실행할 때마다 항상 ReturnLargeSet 값을 사용합니다.

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

SiteIds 매개 변수는 SharePoint SiteId(GUID)로 로그 항목을 필터링합니다. 여러 값을 쉼표로 구분하여 입력할 수 있습니다. Value1, Value2,...ValueN

SharePoint 사이트의 SiteId를 가져오려면 지정하려는 사이트 모음의 URL에 를 추가 /_api/site/id 합니다. 예를 들어 URL https://contoso.sharepoint.com/sites/hr-project 을 로 변경합니다 https://contoso.sharepoint.com/sites/hr-project/_api/site/id. XML 페이로드가 반환되고 사이트 모음의 SiteId가 Edm.Guid 속성에 표시됩니다. 예: <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

StartDate 매개 변수는 날짜 범위의 시작 날짜를 지정합니다. 항목은 UTC(협정 세계시)의 통합 감사 로그에 저장됩니다. 표준 시간대 없이 날짜/시간 값을 지정하면 값은 UTC입니다.

이 매개 변수에 대한 날짜/시간값을 지정하려면 다음 옵션 중 하나를 사용하십시오.

  • UTC에서 날짜/시간 값을 지정합니다(예 "2018-05-06 14:30:00z": ).
  • 날짜/시간 값을 현지 표준 시간대의 날짜/시간을 UTC로 변환하는 수식으로 지정합니다(예 (Get-Date "5/6/2018 9:30 AM").ToUniversalTime(): ). 자세한 내용은 Get-Date를 참조하세요.

이 매개 변수의 값에 타임스탬프를 포함하지 않으면 기본 타임스탬프는 지정된 날짜에 오전 12:00(자정)입니다.

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

UserIds 매개 변수는 작업을 수행한 사용자의 계정(UserPrincipalName)으로 로그 항목을 필터링합니다. 예를 들면 laura@contoso.onmicrosoft.com와 같습니다.

Update 값에 공백이 포함되거나 따옴표가 필요한 경우 다음 구문을 "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