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


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 Information Protection командлет 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 . Затем результирующий файл помечается, указав метку "Общие" по идентификатору.

Замечание

Эта команда использует псевдоним Пути 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

Эта команда задает метку "Общие" для всех файлов в папке "Проекты " и любой из ее вложенных папок.

Если метка "Общие" настроена для применения шифрования, файлы, успешно помеченные этой командой, также будут зашифрованы. В этом случае владелец 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    :

Эта команда сканирует все файлы в папке "Проекты" и любой из ее вложенных папок и задает метки в соответствии с настроенными условиями в политике автоматической маркировки. В этом примере есть пять файлов и два файла автоматически помечены. Файл 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    :

Эта команда аналогична предыдущему примеру, что она также сканирует все файлы в папке "Проекты" и любой из ее вложенных папок и задает метки в соответствии с настроенными условиями автоматического добавления меток. Однако на этот раз команда включает параметр -Force , он также заменяет существующую метку для Dashboard.xlsxи Pricelist.xlsx.

Содержимое Datasheet.pdf не соответствовало настроенным условиям, и этот файл остается без метки.

Пример 9. Сканирование файла для всех известных типов конфиденциальной информации

PS C:\> 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. Проверка файла для определенных типов конфиденциальной информации

PS C:\> Set-FileLabel -AutoLabel -Path C:\Projects\Project1.docx -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. Сканирование файла для определенных типов конфиденциальной информации и отображение найденных значений

PS C:\> $x=Set-FileLabel -AutoLabel -Path "C:\Projects\Project1.docx" -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 не используется, выполняется в режиме маркировки вручную.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-CustomPermissions

Указывает имя переменной, в которой хранится нерегламентированная политика защиты, созданная с помощью командлета New-CustomPermissions . Политика нерегламентированной защиты используется для защиты файла или файлов с пользовательскими разрешениями.

Тип:AIPCustomPermissions
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DiscoveryInfoTypes

Укажите типы конфиденциальной информации, которые необходимо обнаружить при использовании параметра WhatIf .

Если вы хотите найти определенные типы конфиденциальной информации, укажите номер идентификатора сущности для этого типа информации, который можно найти в типах конфиденциальной информации в Exchange Server.

Например, "50842eb7-edc8-4019-85dd-5a5c1f2bb085" — это число, указываемое для типа конфиденциальной информации номера кредитной карты.

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Force

Заменяет существующую метку при применении настроенных условий.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-JustificationMessage

Причина снижения метки классификации, удаления метки или удаления защиты, если политика конфиденциальности требует от пользователей предоставить эти сведения. Если установка метки активирует обоснование и эта причина не указана, метка не применяется. В этом случае возвращено состояние "Пропущено" с комментарием "Обязательное обоснование".

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-LabelId

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

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

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

Для файлов с примененными метками можно также запустить командлет Get-FileStatus , чтобы определить идентификатор метки (MainLabelId или SubLabelId).

Тип:Guid
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Owner

Указывает владельца для применения метки или защиты к файлу.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Path

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

Подстановочные знаки не поддерживаются, а расположения WebDav не поддерживаются.

Для путей SharePoint поддерживаются следующие:

  • SharePoint Server 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[]
Aliases:FullName, FileName
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-PreserveFileDetails

Укажите этот параметр, чтобы оставить измененную дату (Windows и SharePoint) и изменить значения (SharePoint) без изменений для документов, которые вы метки:

  • Для локальных или сетевых файлов значение даты изменения остается неизменным.

  • Для файлов SharePoint дата изменения и измененные значения остаются неизменными.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет, если командлет будет запущен. Командлет не запускается.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

System.String[]

Выходные данные

Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult