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