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 ラベルを指定することでラベルが付けられます。
例 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.xlsx
、Pricelist.xlsx
ラベルが上位にあるため、ラベルが付けられていません。 このコマンドは Force パラメーターなしで実行されるため、 Analysis.xlsx
と Pricelist.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.xlsx
と Pricelist.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()
これらのコマンドにより、ガベージ コレクターが実行され、不要になったメモリが解放されます。