다음을 통해 공유


Set-FileLabel

레이블 구성 또는 사용자 지정 권한에 따라 수동 레이블 지정 또는 자동 레이블 지정을 통해 파일에 대한 민감도 레이블 및 보호를 설정합니다.

Syntax

Set-FileLabel
   [-Path] <String[]>
   -LabelId <Guid>
   [-JustificationMessage <String>]
   [-Owner <String>]
   [-PreserveFileDetails]
   [<CommonParameters>]
Set-FileLabel
   [-Path] <String[]>
   -LabelId <Guid>
   [-JustificationMessage <String>]
   -CustomPermissions <AIPCustomPermissions>
   [-Owner <String>]
   [-PreserveFileDetails]
   [<CommonParameters>]
Set-FileLabel
   [-Path] <String[]>
   -CustomPermissions <AIPCustomPermissions>
   [-Owner <String>]
   [-PreserveFileDetails]
   [<CommonParameters>]
Set-FileLabel
   [-Path] <String[]>
   [-JustificationMessage <String>]
   [-Owner <String>]
   [-Force]
   [-PreserveFileDetails]
   [-AutoLabel]
   [<CommonParameters>]
Set-FileLabel
   [-Path] <String[]>
   [-PreserveFileDetails]
   [-WhatIf]
   [-DiscoveryInfoTypes <String[]>]
   [<CommonParameters>]

Description

Microsoft Purview Information Protection 클라이언트의 경우 Set-FileLabel cmdlet은 하나 이상의 파일에 대한 민감도 레이블을 설정합니다. 이 작업은 레이블이 암호화를 적용하도록 구성된 경우 자동으로 보호를 적용할 수 있습니다.

또한 이 cmdlet을 사용하여 New-CustomPermissions cmdlet을 사용하여 임시 보호 정책 개체로 만들 때 사용자 지정 권한을 적용할 수 있습니다.

명령이 성공적으로 실행되면 기존 레이블 또는 보호를 바꿀 수 있습니다.

이 cmdlet을 비대화형으로 실행할 수 있습니다. 자세한 내용은 통합 레이블 지정 클라이언트 관리자 가이드를 참조하세요.

참고

루프에서 Set-FileLabel cmdlet을 실행하는 경우 cmdlet 다음에 다음 두 줄을 추가합니다. [GC]::Collect()
[GC]::WaitForPendingFinalizers()

예제

예제 1: 현재 레이블이 없는 모든 파일에 "일반" 레이블 적용

PS C:\> Get-FileStatus -Path \\Finance\Projects\ | where {$_.IsLabeled -eq $False} | Set-FileLabel -LabelId d9f23ae3-4321-4321-4321-f515f824c57b
FileName                              Status Comment
--------                              ------ ------------
\\Finance\Projects\Image.jpg          Success
\\Finance\Projects\Pricelist.pdf      Success
\\Finance\Projects\Announcement.docx  Success
\\Finance\Projects\Analysis.xlsx      Success

이 명령은 먼저 Get-FileStatus cmdlet을 사용하여 레이블이 지정되지 않은 모든 파일을 식별합니다. 그런 다음, 이러한 파일은 ID로 "일반" 레이블을 지정하여 레이블이 지정됩니다.

예제 2: 레이블이 지정되지 않은 .docx 파일에 "일반" 레이블 적용

PS C:\> Get-ChildItem C:\Projects\*.docx -File -Recurse | Get-FileStatus | where {$_.IsLabeled -eq $False} | Set-FileLabel -LabelId d9f23ae3-1234-1234-1234-f515f824c57b
FileName                   Status  Comment
--------                   ------  ------------
C:\Projects\Analysis.docx  Success
C:\Projects\Projects.docx  Success

이 명령은 먼저 Get-Child-Item을 사용하여 C:\Projects 폴더(및 해당 하위 폴더)의 모든 .docx 파일을 식별한 다음 Get-FileStatus cmdlet을 사용하여 레이블이 지정되지 않은 파일을 이러한 파일에서 찾습니다. 그런 다음 결과 파일은 ID로 "일반" 레이블을 지정하여 레이블이 지정됩니다.

참고

이 명령은 Get-FileStatus와 함께 Get-Child-Item을 사용할 수 있도록 FullName의 경로 별칭을 사용합니다.

예제 3: 폴더의 모든 파일과 해당 하위 폴더에 "일반" 레이블 적용

PS C:\> Set-FileLabel -Path C:\Projects\ -LabelId d9f23ae3-1324-1234-1234-f515f824c57b
FileName                    Status      Comment
--------                    ------      ------------
C:\Projects\Project1.docx   Success
C:\Projects\Datasheet.pdf   Success
C:\Projects\Image.jpg       Success
C:\Projects\Analysis.xlsx   Skipped    No label to apply
C:\Projects\Dashboard.xlsx  Success

이 명령은 Projects 폴더의 모든 파일과 해당 하위 폴더에 "일반"이라는 레이블을 설정합니다.

일반 레이블이 암호화를 적용하도록 구성된 경우 이 명령으로 레이블이 성공적으로 지정된 파일도 암호화됩니다. 이 경우 이러한 파일의 Rights Management 소유자(Rights Management에 대한 모든 권한 있음)는 PowerShell 명령을 실행한 사용자입니다.

이 예제에서는 정당화가 필요하기 때문에 하나의 파일에 레이블이 지정되지 않았습니다(건너뛰기). 이는 분류 레이블 또는 보호가 더 높은 파일이 실수로 더 낮은 분류 레이블로 덮어쓰거나 보호가 제거되지 않도록 하기 위한 결과일 수 있습니다.

이 보호 기능을 사용하려면 레이블을 제거하거나 분류를 낮추기 위한 근거를 요구하도록 Office 365 분류 레이블 정책을 구성해야 합니다. 그런 다음 JustificationMessage 매개 변수 없이 이 명령을 실행하고 레이블이 근거를 트리거하면 "적용할 레이블 없음" 주석과 함께 파일을 건너뜁니다.

예제 4: 정당화가 필요한 단일 파일에 "일반" 레이블 적용

PS C:\> Set-FileLabel -Path \\Finance\Projects\Analysis.xlsx -LabelId d9f23ae3-1324-1234-1234-f515f824c57b -JustificationMessage 'The previous label no longer applies'
FileName                          Status      Comment
--------                          ------      ------------
\\finance\projects\analysis.xlsx  Success

이 명령은 이미 더 높은 민감도 레이블로 레이블이 지정된 파일에 대해 "일반" 레이블을 설정합니다. 민감도 레이블 정책은 레이블을 제거하거나 분류를 낮추기 위한 근거를 요구하도록 구성됩니다. 명령에 근거 메시지가 포함되어 있으므로 새 레이블이 성공적으로 적용됩니다.

예제 5: 사용자 지정 권한으로 파일 보호

PS C:\> $permissions = New-CustomPermissions -Users user1@contoso.com, user2@vanarsdel.com -Permissions Reviewer -ExpirationDate (Get-Date -Month 1 -Day 1 -Year 2020)
PS C:\> Set-FileLabel C:\Projects\Analysis.docx -CustomPermissions $permissions

FileName                   Status Comment
--------                   ------ ------------
C:\Projects\Analysis.docx  Success

첫 번째 명령은 검토자 권한에서 다른 조직의 사용자에게 사용 권한을 부여하고 만료 날짜도 적용하는 임시 보호 정책 개체를 만듭니다.

두 번째 명령은 저장된 임시 보호 정책 개체의 사용자 지정 권한을 사용하여 Analysis.docx 라는 단일 파일을 보호합니다.

예제 6: 파일에 레이블 및 사용자 지정 권한 적용

PS C:\> $permissions = New-CustomPermissions -Users a@a.com, b@b.com -Permissions Reviewer 
PS C:\> Set-FileLabel C:\Projects\Analysis.docx -LabelId d9f23ae3-1324-1234-1234-f515f824c57b -CustomPermissions $permissions

FileName                   Status Comment
--------                   ------ ------------
C:\Projects\Analysis.docx  Success

첫 번째 명령은 검토자 권한에서 다른 조직의 사용자에게 사용 권한을 부여하고 만료 날짜도 적용하는 임시 보호 정책 개체를 만듭니다.

두 번째 명령은 레이블을Analysis.docx 라는 단일 파일에 적용하고 저장된 임시 보호 정책 개체의 사용자 지정 권한을 사용하여 파일을 보호합니다. 레이블이 보호 설정에 대해 구성된 경우 사용자 지정 권한으로 대체됩니다.

예제 7: 폴더 및 해당 하위 폴더의 모든 파일을 검사하고 자동 레이블 지정을 위해 구성된 조건에 따라 레이블을 적용합니다.

PS C:\> Set-FileLabel -AutoLabel -Path C:\Projects\ -PreserveFileDetails


FileName      : C:\Projects\Project1.docx
Status        : Success
Comment       :
MainLabelName : Confidential
MainLabelId   : 074e257c-1234-1234-1234-34a182080e71
SubLabelName  : Finance group
SubLabelId    : d9f23ae3-1234-1234-1234-f515f824c57b

FileName      : C:\Projects\Datasheet.pdf
Status        : Skipped
Comment       : No label to apply
MainLabelName : 
MainLabelId   : 
SubLabelName  : 
SubLabelId    : 

FileName      : C:\Projects\Analysis.xlsx
Status        : Skipped
Comment       : No label to apply
MainLabelName : 
MainLabelId   : 
SubLabelName  : 
SubLabelId    : 

FileName      : C:\Projects\Pricelist.xlsx
Status        : Skipped
Comment       : No label to apply
MainLabelName : 
MainLabelId   : 
SubLabelName  : 
SubLabelId    : 

FileName      : C:\Projects\Dashboard.xlsx
Status        : Success
Comment       : 
MainLabelName : Public
MainLabelId   : f018e9e7-0cfc-4c69-b27a-ac3cb7df43cc
SubLabelName  : 
SubLabelId    :

이 명령은 Projects 폴더의 모든 파일과 해당 하위 폴더를 검색하고 자동 레이블 지정 정책에서 구성된 조건에 따라 레이블을 설정합니다. 이 예제에서는 다섯 개의 파일이 있고, 두 개의 파일에 레이블이 자동으로 지정됩니다. Datasheet.pdf 파일의 내용이 이미 수동으로 레이블이 지정된 Analysis.xlsx 자동 레이블 지정에 대해 구성된 조건과 일치하지 않고Pricelist.xlsx레이블이 더 높기 때문에 레이블이 지정되지 않습니다. 명령은 -Force 매개 변수 없이 실행되므로 Analysis.xlsxPricelist.xlsx 대한 기존 레이블을 덮어쓰지 않습니다.

적용된 레이블이 Rights Management 보호를 적용하도록 구성되어 있으면 이 명령으로 레이블이 성공적으로 지정된 파일도 보호됩니다. 이 경우 이러한 파일의 Rights Management 소유자(Rights Management에 대한 모든 권한 있음)는 PowerShell 명령을 실행한 사용자입니다.

PreserveFileDetails 매개 변수가 지정되었으므로 레이블이 지정된 파일의 수정 날짜는 변경되지 않습니다.

예제 8: 폴더 및 해당 하위 폴더의 모든 파일을 검사하고, 자동 레이블 지정을 위해 구성된 조건에 따라 레이블을 적용하고, 기존 레이블을 재정의합니다.

PS C:\> Set-FileLabel -Autolabel -Path C:\Projects\ -Force -PreserveFileDetails


FileName      : C:\Projects\Project1.docx
Status        : Success
Comment       :
MainLabelName : Confidential
MainLabelId   : 074e257c-1234-1234-1234-34a182080e71
SubLabelName  : Finance group
SubLabelId    : d9f23ae3-1234-1234-1234-f515f824c57b

FileName      : C:\Projects\Datasheet.pdf
Status        : Skipped
Comment       : No label to apply
MainLabelName : 
MainLabelId   : 
SubLabelName  : 
SubLabelId    : 

FileName      : C:\Projects\Analysis.xlsx
Status        : Success
Comment       :
MainLabelName : Public
MainLabelId   : f018e9e7-0cfc-4c69-b27a-ac3cb7df43cc
SubLabelName  : 
SubLabelId    : 

FileName      : C:\Projects\Pricelist.xlsx
Status        : Success
Comment       :
MainLabelName : Public
MainLabelId   : f018e9e7-0cfc-4c69-b27a-ac3cb7df43cc
SubLabelName  : 
SubLabelId    : 

FileName      : C:\Projects\Dashboard.xlsx
Status        : Success
Comment       : 
MainLabelName : Public
MainLabelId   : f018e9e7-0cfc-4c69-b27a-ac3cb7df43cc
SubLabelName  : 
SubLabelId    :

이 명령은 Projects 폴더 및 해당 하위 폴더의 모든 파일도 검색하고 자동 레이블 지정을 위해 구성된 조건에 따라 레이블을 설정한다는 이전 예제와 유사합니다. 그러나 이번에는 명령에 -Force 매개 변수가 포함되어 있으므로Dashboard.xlsx의 기존 레이블도 대체하고 Pricelist.xlsx.

Datasheet.pdf 내용이 구성된 조건과 일치하지 않으며 이 파일은 레이블 없이 유지됩니다.

예제 9: WhatIf 모드에서 알려진 모든 중요한 정보 유형에 대한 파일 검사

PS C:\> Set-FileLabel -AutoLabel -Path C:\Projects\Project1.docx -WhatIf -DiscoveryInfoTypes All


MainLabelName           : General
MainLabelId             : 89a453df-5df4-4976-8191-jdn2fsf9560a
SubLabelName            :
SubLabelId              :
WhatIf                  : True
MatchedInformationTypes : {Credit Card Number, U.S. Social Security Number (SSN), International Classification of
                          Diseases (ICD-10-CM), International Classification of Diseases (ICD-9-CM)}
LastModifiedBy          :
LastModifiedTime        : 8/19/2014 5:11:26 AM
FileName                : C:\Projects\Project1.docx
Status                  : Success
Comment                 :

이 명령은 보호 또는 레이블을 적용하지 않고 Project1.docx 파일에서 알려진 모든 정보 유형을 검색합니다.

예제 10: WhatIf 모드에서 특정 중요한 정보 유형에 대한 파일 검사

PS C:\> Set-FileLabel -AutoLabel -Path C:\Projects\Project1.docx -WhatIf -DiscoveryInfoTypes "50842eb7-edc8-4019-85dd-5a5c1f2bb085","a44669fe-0d48-453d-a9b1-2cc83f2cba77"

MainLabelName           : General
MainLabelId             : 89a453df-5df4-4976-8191-jdn2fsf9560a
SubLabelName            :
SubLabelId              :
WhatIf                  : True
MatchedInformationTypes : {Credit Card Number, U.S. Social Security Number (SSN)}
LastModifiedBy          :
LastModifiedTime        : 8/19/2014 5:11:26 AM
FileName                : Project1.docx
Status                  : Success
Comment                 :

이 명령은 보호 또는 레이블을 적용하지 않고 Project1.docx 파일에서 "신용 카드 번호" 및 "SSN(사회 보장 번호)"의 특정 정보 유형을 검색합니다.

예제 11: WhatIf 모드에서 특정 중요한 정보 유형에 대한 파일을 검사하고 찾은 값을 표시합니다.

PS C:\> $x=Set-FileLabel -AutoLabel -Path "C:\Projects\Project1.docx" -WhatIf -DiscoveryInfoTypes "50842eb7-edc8-4019-85dd-5a5c1f2bb085","a44669fe-0d48-453d-a9b1-2cc83f2cba77"
PS C:\> $x.MatchedInformationTypes

RulePackageSetId  : 00000000-0000-0000-0000-000000000000
RulePackageId     : 00000000-0000-0000-0000-000000000000
RuleId            : 50842eb7-edc8-4019-85dd-5a5c1f2bb085
Name              : Credit Card Number
Count             : 1
UniqueCount       : 1
Confidence        : 85
SensitiveContents : {Offset: 2089, Length: 19}
 
RulePackageSetId  : 00000000-0000-0000-0000-000000000000
RulePackageId     : 00000000-0000-0000-0000-000000000000
RuleId            : a44669fe-0d48-453d-a9b1-2cc83f2cba77
Name              : U.S. Social Security Number (SSN)
Count             : 1
UniqueCount       : 1
Confidence        : 85
SensitiveContents : {Offset: 7063, Length: 11}


PS C:\> $x.MatchedInformationTypes[0].SensitiveContents | fl

Offset  : 2089
Length  : 19
Value   : 4539-9572-7949-2212
Context : OLOGICAL SCIENCES     Credit Card #
          Expiration Date:      4539-9572-7949-2212
          8/2009                Department:     BIOLOGICAL SCIENCES     Anticipa

이전 예제와 마찬가지로 첫 번째 명령은 보호 또는 레이블을 적용하지 않고 Project1.docx 파일에서 "신용 카드 번호" 및 "SSN(사회 보장 번호)"의 특정 정보 유형을 검색합니다. 그러나 이 예제에서는 추가 처리를 위해 결과가 변수에 저장됩니다.

그런 다음 두 번째 명령을 사용하여 SensitiveContents 매개 변수를 포함하는 일치하는 정보 형식의 내용을 표시합니다.

마지막 명령은 첫 번째 중요한 정보 유형(이 예제에서는 크레딧 카드 세부 정보)으로 식별되는 데이터를 더 쉽게 읽을 수 있도록 및 형식을 표시합니다.

매개 변수

-AutoLabel

-AutoLabel을 사용하면 cmdlet이 자동 레이블 지정 모드에서 실행됩니다. -AutoLabel cmdlet을 사용하지 않으면 수동 레이블 지정 모드에서 실행됩니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CustomPermissions

New-CustomPermissions cmdlet을 사용하여 만든 임시 보호 정책을 저장하는 변수 이름을 지정합니다. 임시 보호 정책은 사용자 지정 권한으로 파일 또는 파일을 보호하는 데 사용됩니다.

Type:AIPCustomPermissions
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DiscoveryInfoTypes

WhatIf 매개 변수를 사용할 때 검색할 중요한 정보 유형을 지정합니다.

특정 중요한 정보 유형을 검색하려면 해당 정보 유형에 대한 엔터티 ID 번호를 지정합니다. 이 번호는 Exchange Server 중요한 정보 유형에 나열되어 있습니다.

예를 들어 "50842eb7-edc8-4019-85dd-5a5c1f2bb085"는 신용 카드 번호 중요한 정보 유형에 대해 지정할 번호입니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

구성된 조건이 적용될 때 기존 레이블을 바꿉니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JustificationMessage

민감도 정책에서 사용자에게 이 정보를 제공해야 하는 경우 분류 레이블을 낮추거나, 레이블을 제거하거나, 보호를 제거하는 근거입니다. 레이블을 설정하면 근거를 트리거하고 이러한 이유가 제공되지 않으면 레이블이 적용되지 않습니다. 이 경우 반환되는 상태는 "Justification required"(근거 필요)라는 주석이 포함된 "Skipped"(건너뜀)입니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LabelId

적용할 레이블의 ID(ID)를 지정합니다. 레이블에 하위 레이블이 있는 경우 항상 부모 레이블이 아니라 하위 레이블의 ID만 지정합니다.

레이블 ID를 찾으려면 다음을 수행합니다.

레이블 ID 값이 Microsoft Purview 규정 준수 포털 표시되지 않습니다. 그러나 다음 Office 365 Security & 준수 센터 PowerShell 명령을 사용하여 이 값을 찾을 수 있습니다.Get-Label | Format-Table -Property DisplayName, Name, Guid

레이블이 적용된 파일의 경우 Get-FileStatus cmdlet을 실행하여 레이블 ID(MainLabelId 또는 SubLabelId)를 식별할 수도 있습니다.

Type:Guid
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Owner

파일에 레이블 또는 보호를 적용하기 위한 소유자를 지정합니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

레이블 및 보호 정보를 가져올 파일에 대한 로컬 경로, 네트워크 경로 또는 SharePoint Server URL을 지정합니다.

와일드카드는 지원되지 않으며 WebDav 위치도 지원되지 않습니다.

SharePoint 경로의 경우 다음이 지원됩니다.

  • SharePoint Server 2022
  • SharePoint Server 2019
  • SharePoint Server 2016
  • SharePoint Server 2013

예를 들면 다음과 같습니다.

경로 값을 따옴표로 묶을 때 경로에 공백이 포함될 수 있습니다.

Type:String[]
Aliases:FullName, FileName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PreserveFileDetails

레이블을 지정하는 문서에 대해 수정된 날짜(Windows 및 SharePoint)와 수정한 날짜(SharePoint) 값이 변경되지 않은 상태로 두려면 이 매개 변수를 지정합니다.

  • 로컬 또는 네트워크 파일의 경우 수정한 날짜 값은 변경되지 않은 상태로 유지됩니다.

  • SharePoint 파일의 경우 수정된 날짜수정한 날짜 값은 변경되지 않은 상태로 유지됩니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

cmdlet을 실행할 경우 발생하는 일을 표시합니다. cmdlet은 실행되지 않습니다.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

입력

System.String[]

출력

Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult