次の方法で共有


Set-FileLabel

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

構文

SetLabel

Set-FileLabel
    [-Path] <String[]>
    -LabelId <Guid>
    [-JustificationMessage <String>]
    [-Owner <String>]
    [-PreserveFileDetails]

SetLabelCustom

Set-FileLabel
    [-Path] <String[]>
    -LabelId <Guid>
    -CustomPermissions <AIPCustomPermissions>
    [-JustificationMessage <String>]
    [-Owner <String>]
    [-PreserveFileDetails]

Custom

Set-FileLabel
    [-Path] <String[]>
    -CustomPermissions <AIPCustomPermissions>
    [-Owner <String>]
    [-PreserveFileDetails]

SetAutoLabel

Set-FileLabel
    [-Path] <String[]>
    [-JustificationMessage <String>]
    [-Owner <String>]
    [-Force]
    [-PreserveFileDetails]
    [-AutoLabel]

WhatIf

Set-FileLabel
    [-Path] <String[]>
    [-PreserveFileDetails]
    [-WhatIf]
    [-DiscoveryInfoTypes <String[]>]

説明

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

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

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

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

例 1: 現在ラベルがないすべてのファイルに "全般" ラベルを適用する

Get-FileStatus -Path \\Finance\Projects\ |
    Where-Object {$_.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 ファイルに "全般" ラベルを適用する

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

このコマンドは、最初に .docx を使用して C:\Projects フォルダー (およびそのサブフォルダー) 内のすべてのファイルを識別し、次に Get-FileStatus コマンドレットを使用してラベル付けされていないファイルを検索します。 結果のファイルには、 ID で General ラベルを指定することでラベルが付けられます。

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

例 3: フォルダーとそのサブフォルダー内のすべてのファイルに "全般" ラベルを適用する

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

このコマンドは、 C:\Projects フォルダとそのサブフォルダ内のすべてのファイルに "General" という名前のラベルを設定します。

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

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

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

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

$setFileLabelSplat = @{
    Path = '\\Finance\Projects\Analysis.xlsx'
    LabelId = 'd9f23ae3-1324-1234-1234-f515f824c57b'
    JustificationMessage = 'The previous label no longer applies'
}
Set-FileLabel @setFileLabelSplat
FileName                          Status      Comment
--------                          ------      ------------
\\finance\projects\analysis.xlsx  Success

このコマンドは、既に高い秘密度ラベルでラベルが付いているファイルの "全般" ラベルを設定します。 秘密度ラベル ポリシーは、ラベルを削除したり分類を下げたりするための正当な理由を必要とするように構成されています。 コマンドには理由メッセージが含まれているため、新しいラベルが正常に適用されます。

例 5: カスタム アクセス許可を使用してファイルを保護する

$newCustomPermissionsSplat = @{
    Users = 'user1@contoso.com', 'user2@vanarsdel.com'
    Permissions = 'Reviewer'
    ExpirationDate = (Get-Date -Month 1 -Day 1 -Year 2020)
}
$permissions = New-CustomPermissions @newCustomPermissionsSplat
Set-FileLabel C:\Projects\Analysis.docx -CustomPermissions $permissions
FileName                   Status Comment
--------                   ------ ------------
C:\Projects\Analysis.docx  Success

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

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

例 6: ラベルとカスタムアクセス許可をファイルに適用する

$permissions = New-CustomPermissions -Users a@a.com, b@b.com -Permissions Reviewer
$setFileLabelSplat = @{
    LabelId = 'd9f23ae3-1324-1234-1234-f515f824c57b'
    CustomPermissions = $permissions
}
Set-FileLabel @setFileLabelSplat C:\Projects\Analysis.docx
FileName                   Status Comment
--------                   ------ ------------
C:\Projects\Analysis.docx  Success

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

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

例 7: フォルダー ツリー内のすべてのファイルをスキャンし、構成された条件に従ってラベルを適用する

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.xlsxPricelist.xlsxラベルが上位にあるため、ラベルが付けられていません。 このコマンドは Force パラメーターなしで実行されるため、 Analysis.xlsxPricelist.xlsx の既存のラベルは上書きされません。

適用されたラベルも Rights Management 保護を適用するように構成されている場合、このコマンドで正常にラベル付けされたファイルも保護されます。 この場合、これらのファイルの Rights Management 所有者 (Rights Management のフル コントロールアクセス許可を持つユーザー) は、PowerShell コマンドを実行したユーザーです。

PreserveFileDetails パラメーターが指定されているため、ラベル付けされたファイルの Date Modified は変更されません。

例 8: フォルダー ツリー内のすべてのファイルをスキャンし、構成された条件に従ってラベルを適用し、既存のラベルを上書きする

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.xlsxPricelist.xlsx の既存のラベルも置き換えられます。

Datasheet.pdfの内容が設定された条件に一致せず、このファイルはラベルなしで残ります。

例 9: 既知のすべての機密情報の種類のファイルをスキャンする

Set-FileLabel -AutoLabel -Path C:\Projects\Project1.docx -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: 特定の機密情報の種類についてファイルをスキャンする

$setFileLabelSplat = @{
    AutoLabel = -AutoLabel
    Path = 'C:\Projects\Project1.docx'
    DiscoveryInfoTypes = "50842eb7-edc8-4019-85dd-5a5c1f2bb085", "a44669fe-0d48-453d-a9b1-2cc83f2cba77"
}
Set-FileLabel @setFileLabelSplat
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                 :

このコマンドは、保護やラベルを適用せずに、ファイル内の クレジット カード番号社会保障番号 (SSN) の特定の情報タイプ Project1.docx 検出します。

例 11: 特定の機密情報の種類のファイルをスキャンし、見つかった値を表示する

$setFileLabelSplat = @{
    AutoLabel = -AutoLabel
    Path = 'C:\Projects\Project1.docx'
    DiscoveryInfoTypes = '50842eb7-edc8-4019-85dd-5a5c1f2bb085',
        'a44669fe-0d48-453d-a9b1-2cc83f2cba77'
}
$x = Set-FileLabel @setFileLabelSplat
$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}
$x.MatchedInformationTypes[0].SensitiveContents | Format-List
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

前の例と同様に、最初のコマンドは、保護やラベルを適用せずに、ファイル内の クレジット カード番号社会保障番号 (SSN) の特定の情報タイプ Project1.docx 検出します。 ただし、この例では、結果は、さらに処理するために変数に格納されます。

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

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

パラメーター

-AutoLabel

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

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

SetAutoLabel
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-CustomPermissions

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

パラメーターのプロパティ

型:AIPCustomPermissions
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

SetLabelCustom
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
Custom
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-DiscoveryInfoTypes

WhatIf パラメーターを使用するときに検出する機密情報の種類を指定します。

特定の機密情報の種類を検索する場合は、その情報の種類の エンティティ ID 番号を 指定します。これは Exchange Server の機密情報の種類に記載されています。

たとえば、"50842eb7-edc8-4019-85dd-5a5c1f2bb085" は、クレジット カード番号の機密情報の種類に指定する番号です。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

WhatIf
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Force

構成された条件が適用されるときに、既存のラベルを置き換えます。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

SetAutoLabel
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-JustificationMessage

機密ポリシーでユーザーがこの情報を提供する必要がある場合に、分類ラベルを下げる、ラベルを削除する、または保護を削除する理由。 ラベルを設定すると理由がトリガーされ、この理由が指定されていない場合、ラベルは適用されません。 この場合、返される状態は "Skipped" で、コメント "Justification required" が付きます。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

SetLabel
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
SetLabelCustom
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
SetAutoLabel
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値: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) を識別することもできます。

パラメーターのプロパティ

型:Guid
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

SetLabel
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
SetLabelCustom
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Owner

ファイルにラベルまたは保護を適用するための所有者を指定します。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

SetLabel
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
SetLabelCustom
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
Custom
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
SetAutoLabel
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Path

ラベルと保護情報を取得するファイルへのローカル パス、ネットワーク パス、または SharePoint Server URL を指定します。

ワイルドカードはサポートされておらず、WebDav の場所はサポートされていません。

SharePoint パスでは、次のものがサポートされています。

  • SharePoint サーバー 2022
  • SharePoint Server 2019
  • SharePoint Server 2016
  • SharePoint Server 2013

例えば次が挙げられます。

  • C:\Folder\
  • C:\Folder\Filename
  • \\Server\Folder
  • http://sharepoint.contoso.com/Shared%20Documents/Folder

パス値を引用符で囲むと、パスにスペースを含めることができます。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:氏名, ファイル名

パラメーター セット

(All)
配置:0
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-PreserveFileDetails

ラベルを付けるドキュメントの変更日 (Windows および SharePoint) と変更日 (SharePoint) の値を変更しない場合は、このパラメーターを指定します。

  • ローカル ファイルまたはネットワーク ファイルの場合、 変更日 の値は変更されません。

  • SharePoint ファイルの場合、[ 変更日 ] と [更新日] の 値は変更されません。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

WhatIf
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

入力

System.String

出力

Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult

メモ

ループで Set-FileLabel コマンドレットを実行する場合は、コマンドレットの後に次のコマンドを追加します。

  • [GC]::Collect()
  • [GC]::WaitForPendingFinalizers()

これらのコマンドにより、ガベージ コレクターが実行され、不要になったメモリが解放されます。