Поделиться через


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 задает метку конфиденциальности для одного или нескольких файлов. Это действие может автоматически применять защиту, если метки настроены для применения шифрования.

Кроме того, этот командлет можно использовать для применения пользовательских разрешений при их создании в качестве объекта нерегламентированной политики защиты с помощью командлета New-CustomPermissions .

При успешном выполнении команды можно заменить любую существующую метку или защиту.

Этот командлет можно выполнять в неинтерактивном режиме. Дополнительные сведения см. в руководстве администратора клиента унифицированных меток.

Примечание

При выполнении командлета Set-FileLabel в цикле добавьте следующие две строки после командлета: [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 . Затем эти файлы помечаются путем указания метки "Общие" по идентификатору.

Пример 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

Эта команда сначала идентифицирует все .docx файлы в папке C:\Projects (и ее вложенных папках) с помощью командлета Get-Child-Item, а затем находит из этих файлов те, которые не помечены с помощью командлета Get-FileStatus . Полученные файлы затем помечаются путем указания метки "Общие" по идентификатору.

Примечание

Эта команда использует псевдоним Path fullName, чтобы get-child-item можно было использовать с Get-FileStatus.

Пример 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) является пользователь, выполнивший команду PowerShell.

В этом примере один файл не помечен (пропущен), так как для него требуется обоснование. Это может быть предполагаемым результатом, чтобы гарантировать, что файл с более высокой меткой классификации или защитой случайно не перезаписан более низкой меткой классификации или не будет удалена защита.

Чтобы обеспечить такую защиту, необходимо настроить политику меток классификации Office 365, требующую обоснования для удаления метки или понижения классификации. При выполнении этой команды без параметра JustificationMessage , и метка активирует обоснование, файл пропускается с комментарием "Нет метки для применения".

Пример 4. Применение метки "General" к одному файлу, для которого требуется обоснование

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.xlsx и Pricelist.xlsx не перезаписываются.

Кроме того, если метки настроены для применения защиты 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                 :

Эта команда обнаруживает конкретные типы сведений "Номер кредитной карты" и "Номер социального страхования (SSN)" в Project1.docx файле без применения защиты или метки.

Пример 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

Как и в предыдущем примере, первая команда обнаруживает определенные типы сведений "Номер кредитной карты" и "Номер социального страхования (SSN)" в Project1.docx файле без применения защиты или метки. Однако в этом примере результаты хранятся в переменной для дальнейшей обработки.

Затем вторая команда используется для отображения содержимого сопоставленных типов информации, включая параметр 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 .

Если вы хотите найти определенные типы конфиденциальной информации, укажите идентификатор сущности для этого типа информации, который можно найти в разделе Типы конфиденциальной информации в 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

Указывает удостоверение (идентификатор) применяемой метки. Если метка имеет вложенные метки, всегда указывайте идентификатор вложенной метки, а не родительской.

Чтобы найти идентификатор метки, выполните следующие действия:

Значение идентификатора метки не отображается в Портал соответствия требованиям Microsoft Purview. Однако для поиска этого значения можно использовать следующую команду PowerShell Office 365 Security & Compliance Center:Get-Label | Format-Table -Property DisplayName, Name, Guid

Для файлов, к которым применены метки, можно также запустить командлет Get-FileStatus , чтобы определить идентификатор метки (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

Указывает локальный путь, сетевой путь или URL-адрес SharePoint Server к файлам, для которых требуется получить метку и сведения о защите.

Подстановочные знаки и расположения 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