次の方法で共有


Set-FileLabel

ラベルの構成またはカスタムのアクセス許可に従って、手動によるラベル付けまたは自動ラベル付けを使用して、ファイルの秘密度ラベルと保護を設定します。

構文

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

説明

Microsoft Purview 情報保護 クライアントの場合、Set-FileLabel コマンドレットは 1 つ以上のファイルの秘密度ラベルを設定します。 このアクションは、ラベルが暗号化を適用するように構成されている場合に、自動的に保護を適用できます。

さらに、このコマンドレットを使用すると、 New-CustomPermissions コマンドレットを使用してアドホック保護ポリシー オブジェクトとしてカスタムアクセス許可を作成するときに、カスタムアクセス許可を適用できます。

コマンドが正常に実行されると、既存のラベルまたは保護を置き換えることができます。

このコマンドレットは非対話形式で実行できます。 詳細については、統合ラベル付けクライアント管理者ガイドを参照してください。

注意

ループで Set-FileLabel コマンドレットを実行する場合は、コマンドレットの後に [GC]::Collect() という 2 行を追加します。
[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 コマンドレットを使用してラベル付けされていないすべてのファイルを識別します。 次に、これらのファイルの 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 コマンドレットを使用してラベル付けされていないファイルを検索します。 結果のファイルには、ID で "全般" ラベルを指定してラベルが付けられます。

注意

このコマンドは、Get-Child-Item を Get-FileStatus で使用できるように、FullName の Path エイリアス使用します。

例 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 フォルダーとそのサブフォルダー内のすべてのファイルに "General" という名前のラベルを設定します。

[全般] ラベルが暗号化を適用するように構成されている場合、このコマンドで正常にラベル付けされたファイルも暗号化されます。 この場合、PowerShell コマンドを実行したユーザーが、これらのファイルに対する Rights Management の (Rights Management のフル コントロール アクセス許可を付与された) 所有者となります。

この例では、理由が必要なため、1 つのファイルにラベルが付けられなかった (スキップされました)。 これは、より高い分類ラベルまたは保護を持つファイルが誤って低い分類ラベルで上書きされたり、保護が削除されたりしないようにするための意図した結果である可能性があります。

このセーフガードを有効にするには、ラベルを削除したり分類を下げたりするための正当な理由を要求するように、Office 365分類ラベル ポリシーを構成する必要があります。 JustificationMessage パラメーターを指定せずにこのコマンドを実行し、ラベルによって理由がトリガーされると、ファイルは "適用するラベルなし" というコメントでスキップされます。

例 4: "General" ラベルを 1 つのファイルに適用します。これには正当な理由が必要です

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

最初のコマンドは、レビュー担当者のアクセス許可からさまざまな組織の使用権限をユーザーに付与し、有効期限も適用するアドホック保護ポリシー オブジェクトを作成します。

2 番目のコマンドは、格納されているアドホック保護ポリシー オブジェクトのカスタム アクセス許可を使用して 、Analysis.docx という名前の 1 つのファイルを保護します。

例 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

最初のコマンドは、レビュー担当者のアクセス許可からさまざまな組織の使用権限をユーザーに付与し、有効期限も適用するアドホック保護ポリシー オブジェクトを作成します。

2 番目のコマンドは、 Analysis.docx という名前の 1 つのファイルにラベルを適用し、保存されているアドホック保護ポリシー オブジェクトのカスタム アクセス許可を使用してファイルを保護します。 ラベルが保護設定用に構成されている場合は、カスタムアクセス許可に置き換えられます。

例 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 フォルダー内のすべてのファイルとそのサブフォルダーをスキャンし、自動ラベル付けポリシーで構成された条件に従ってラベルを設定します。 この例では、5 つあるファイルのうち 2 ファイルが自動的にラベル付けされています。 Datasheet.pdf ファイルの内容は、自動ラベル付け Analysis.xlsx が既に手動でラベル付けされており、Pricelist.xlsxのラベルが高いため、ラベル付けされません。 コマンドは -Force パラメーターなしで実行されるため、 Analysis.xlsxPricelist.xlsx の既存のラベルは上書きされません。

同時に、適用されているラベルが、Rights Management の保護を適用するように構成されていれば、このコマンドでラベル付けに成功したファイルは保護の対象となります。 この場合、PowerShell コマンドを実行したユーザーが、これらのファイルに対する Rights Management の (Rights Management のフル コントロール アクセス許可を付与された) 所有者となります。

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)" の特定の情報の種類を検出します。 ただし、この例では、結果は、さらに処理するために変数に格納されます。

次に、2 番目のコマンドを使用して、SensitiveContents パラメーターを含む一致する情報の種類の内容を表示します。

最後のコマンドでは、最初の機密情報の種類によって識別されるデータを読み取りやすくするために、表示と形式が表示されます。この例では、クレジット カードの詳細です。

パラメーター

-AutoLabel

-AutoLabel を使用すると、コマンドレットは自動ラベル付けモードで実行されます。 -AutoLabel コマンドレットを使用しない場合は、手動ラベル付けモードで実行されます。

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

-CustomPermissions

New-CustomPermissions コマンドレットを使用して作成されたアドホック保護ポリシーを格納する変数名を指定します。 アドホック保護ポリシーは、カスタムアクセス許可を持つファイルまたはファイルを保護するために使用されます。

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

秘密度ポリシーでユーザーがこの情報を提供する必要がある場合に、分類ラベルを下げる、ラベルを削除する、または保護を削除する理由。 ラベルを設定すると理由がトリガーされ、この理由が指定されていない場合、ラベルは適用されません。 この場合、"スキップ" というステータスが "正当な理由が必要です" というコメントと共に返されます。

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 & Compliance Center PowerShell コマンドを使用して、この値を見つけることができます。Get-Label | Format-Table -Property DisplayName, Name, Guid

ラベルが適用されているファイルの場合は、 Get-FileStatus コマンドレットを実行してラベル 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

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

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