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 задает метку конфиденциальности для одного или нескольких файлов. Это действие может автоматически применять защиту, если метки настроены для применения шифрования.
Кроме того, этот командлет можно использовать для применения пользовательских разрешений при создании в качестве объекта политики защиты с помощью командлета 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 . Затем эти файлы помечены путем указания метки "Общие" по идентификатору.
Пример 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-Child-Item, а затем находит из этих файлов те, которые не помечены с помощью Get-FileStatus командлета. Полученные файлы затем помечаются путем указания метки General по ее идентификатору.
Замечание
Эта команда использует псевдоним Path для FullName, так что Get-Child-Item можно использовать с 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 и любых ее подпапках.
Если метка "Общие" настроена для применения шифрования, файлы, успешно помеченные этой командой, также будут зашифрованы. В этом случае владелец Rights Management (у которого есть разрешение полного управления правами на управление правами) этих файлов , является пользователем, выполнившим команду PowerShell.
В этом примере один файл не был помечен (пропущен), так как это требуется обоснование. Это может быть предполагаемый результат, чтобы убедиться, что файл с более высокой меткой классификации или защитой не случайно перезаписан с более низкой меткой классификации или удалена защита.
Чтобы обеспечить эту защиту, политика меток классификации Office 365 должна быть настроена, чтобы требовать обоснование удаления метки или снижения классификации. При выполнении этой команды без параметра JustificationMessage и триггеров метки файл пропускается с комментарием "Нет метки для применения".
Пример 4. Применение метки "Общие" к одному файлу, для которого требуется обоснование
$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
Первая команда создает объект нерегламентированной политики защиты, предоставляющий пользователям права на использование различных организаций с разрешениями рецензента, а также применяет дату окончания срока действия.
Вторая команда защищает один файл с именем Analysis.docx с использованием пользовательских разрешений в хранящемся объекте специальной политики защиты.
Пример 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
Первая команда создает объект нерегламентированной политики защиты, предоставляющий пользователям права на использование различных организаций с разрешениями рецензента, а также применяет дату окончания срока действия.
Вторая команда применяет метку к одному файлу с именем Analysis.docx , а также защищает файл с помощью пользовательских разрешений в хранящейся объекте политики защиты. Если метка настроена для параметров защиты, они заменяются пользовательскими разрешениями.
Пример 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 :
Эта команда сканирует все файлы в папке "Проекты" и любой из ее вложенных папок и задает метки в соответствии с настроенными условиями в политике автоматической маркировки. В этом примере есть пять файлов и два файла автоматически помечены. Файл Datasheet.pdf не помечен, так как его содержимое не соответствует настроенным условиям для автоматической маркировки Analysis.xlsx , уже был помечен вручную, и Pricelist.xlsx имеет более высокую метку. Поскольку команда выполняется без параметра Force , существующие метки для Analysis.xlsx и Pricelist.xlsx не перезаписываются.
Если примененные метки также настроены для применения защиты Rights Management, файлы, которые успешно помечены этой командой, также защищены. В этом случае владелец Rights Management (у которого есть разрешение полного управления правами на управление правами) этих файлов , является пользователем, выполнившим команду PowerShell.
Так как указан параметр PreserveFileDetails , дата изменения помеченных файлов остается неизменной.
Пример 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 :
Эта команда аналогична предыдущему примеру, что она также сканирует все файлы в папке "Проекты" и любой из ее вложенных папок и задает метки в соответствии с настроенными условиями автоматического добавления меток. Однако на этот раз, поскольку команда включает параметр 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 файле без применения защиты или метки. Однако в этом примере результаты хранятся в переменной для дальнейшей обработки.
Вторая команда затем используется для отображения содержимого соответствующих типов информации, включая параметр SensitiveContents.
Последняя команда отображает и форматы для упрощения чтения данных, определяемых первым типом конфиденциальной информации, который в этом примере является сведениями кредитной карты.
Параметры
-AutoLabel
При использовании -AutoLabel командлет выполняется в режиме автоматической маркировки. Если командлет -AutoLabel не используется, выполняется в режиме маркировки вручную.
Свойства параметра
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
SetAutoLabel
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-CustomPermissions
Указывает имя переменной, в которой хранится нерегламентированная политика защиты, созданная с помощью командлета New-CustomPermissions . Политика нерегламентированной защиты используется для защиты файла или файлов с пользовательскими разрешениями.
Свойства параметра
| Тип: | AIPCustomPermissions |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
SetLabelCustom
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
Custom
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-DiscoveryInfoTypes
Укажите типы конфиденциальной информации, которые необходимо обнаружить при использовании параметра WhatIf .
Если вы хотите найти определенные типы конфиденциальной информации, укажите номер идентификатора сущности для этого типа информации, который можно найти в типах конфиденциальной информации в Exchange Server.
Например, "50842eb7-edc8-4019-85dd-5a5c1f2bb085" — это число, указываемое для типа конфиденциальной информации номера кредитной карты.
Свойства параметра
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
WhatIf
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Force
Заменяет существующую метку при применении настроенных условий.
Свойства параметра
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
SetAutoLabel
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-JustificationMessage
Причина снижения метки классификации, удаления метки или удаления защиты, если политика конфиденциальности требует от пользователей предоставить эти сведения. Если установка метки активирует обоснование и эта причина не указана, метка не применяется. В этом случае возвращено состояние "Пропущено" с комментарием "Обязательное обоснование".
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
SetLabel
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
SetLabelCustom
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
SetAutoLabel
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-LabelId
Указывает удостоверение (идентификатор) применяемой метки. Если метка имеет вложенные метки, всегда укажите идентификатор только подкабели, а не родительской метки.
Чтобы найти идентификатор метки, выполните следующие действия.
Значение идентификатора метки не отображается на портале соответствия Microsoft Purview. Однако для поиска этого значения можно использовать следующую команду Центра безопасности и соответствия требованиям Office 365: Get-Label | Format-Table -Property DisplayName, Name, Guid
Для файлов с примененными метками можно также запустить командлет Get-FileStatus , чтобы определить идентификатор метки (MainLabelId или SubLabelId).
Свойства параметра
| Тип: | Guid |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
SetLabel
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
SetLabelCustom
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Owner
Указывает владельца для применения метки или защиты к файлу.
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
SetLabel
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
SetLabelCustom
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
Custom
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
SetAutoLabel
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | 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\Folderhttp://sharepoint.contoso.com/Shared%20Documents/Folder
Пути могут включать пробелы при закрытии значения пути с кавычками.
Свойства параметра
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | Полное имя, Имя файла |
Наборы параметров
(All)
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-PreserveFileDetails
Укажите этот параметр, чтобы оставить измененную дату (Windows и SharePoint) и изменить значения (SharePoint) без изменений для документов, которые вы метки:
Для локальных или сетевых файлов значение даты изменения остается неизменным.
Для файлов SharePoint дата изменения и измененные значения остаются неизменными.
Свойства параметра
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-WhatIf
Показывает, что произойдет, если командлет будет запущен. Командлет не запускается.
Свойства параметра
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
WhatIf
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
Входные данные
System.String
Выходные данные
Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult
Примечания
При выполнении Set-FileLabel командлета в цикле добавьте следующую команду после командлета:
[GC]::Collect()[GC]::WaitForPendingFinalizers()
Эти команды гарантируют, что сборщик мусора запустится и освободит память, которая больше не нужна.