Set-FileLabel
Define o rótulo de confidencialidade e a proteção de um arquivo por meio de rotulagem manual ou rótulo automático de acordo com a configuração de rótulo ou permissões personalizadas.
Sintaxe
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[]>]
Description
Para o cliente da Proteção de Informações do Microsoft Purview, o cmdlet Set-FileLabel define um rótulo de confidencialidade para um ou mais arquivos. Essa ação pode aplicar automaticamente a proteção quando os rótulos são configurados para aplicar criptografia.
Além disso, você pode usar esse cmdlet para aplicar permissões personalizadas quando elas forem criadas como um objeto de política de proteção ad hoc com o cmdlet New-CustomPermissions .
Quando o comando é executado com êxito, qualquer rótulo ou proteção existente pode ser substituído.
Você pode executar esse cmdlet de forma não interativa. Para obter mais informações, consulte o guia de administrador do cliente de rotulagem unificada.
Exemplos
Exemplo 1: aplicar o rótulo "Geral" a todos os arquivos que atualmente não têm um rótulo
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
Esse comando primeiro identifica todos os arquivos que não são rotulados usando o cmdlet Get-FileStatus . Em seguida, esses arquivos são rotulados especificando o rótulo "Geral" por sua ID.
Exemplo 2: aplicar o rótulo "Geral" a arquivos .docx que não são rotulados
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
Esse comando primeiro identifica todos os .docx arquivos na C:\Projects pasta (e suas subpastas) usando Get-Child-Item e, em seguida, localiza nesses arquivos aqueles que não estão rotulados usando o Get-FileStatus cmdlet. Os arquivos resultantes são rotulados especificando o rótulo Geral por seu ID.
Observação
Esse comando usa o alias Path de FullName, para que Get-Child-Item possa ser usado com Get-FileStatus.
Exemplo 3: aplicar o rótulo "Geral" a todos os arquivos em uma pasta e qualquer uma de suas subpastas
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
Este comando define um rótulo chamado "Geral" em todos os arquivos na C:\Projects pasta e em qualquer uma de suas subpastas.
Se o rótulo geral estiver configurado para aplicar criptografia, os arquivos que foram rotulados com êxito com esse comando também serão criptografados. Nesse caso, o proprietário do Rights Management (que tem a permissão de Controle Total do Rights Management) desses arquivos é o usuário que executou o comando do PowerShell.
Neste exemplo, um arquivo não foi rotulado (ignorado) porque exigia justificativa. Esse pode ser o resultado pretendido para garantir que um arquivo com um rótulo ou proteção de classificação mais alta não seja substituído acidentalmente por um rótulo de classificação inferior ou tenha a proteção removida.
Para habilitar essa proteção, a política de rótulo de classificação do Office 365 deve ser configurada para exigir justificativa para remover um rótulo ou reduzir a classificação. Quando você executa esse comando sem o parâmetro JustificationMessage e o rótulo dispara a justificativa, o arquivo é ignorado com o comentário "Nenhum rótulo a ser aplicado".
Exemplo 4: aplicar o rótulo "Geral" a um único arquivo, o que requer justificativa
$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
Esse comando define o rótulo "Geral" para um arquivo que já está rotulado com um rótulo de confidencialidade mais alto. A política de rótulo de confidencialidade é configurada para exigir justificativa para remover um rótulo ou reduzir a classificação. Como o comando inclui uma mensagem de justificativa, o novo rótulo é aplicado com êxito.
Exemplo 5: proteger um arquivo com permissões personalizadas
$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
O primeiro comando cria um objeto de política de proteção ad hoc que concede aos usuários de diferentes organizações direitos de uso das permissões do Revisor e também aplica uma data de validade.
O segundo comando protege um único arquivo nomeado Analysis.docx usando as permissões personalizadas no objeto de política de proteção ad hoc armazenado.
Exemplo 6: Aplicar um rótulo e permissões personalizadas ao arquivo
$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
O primeiro comando cria um objeto de política de proteção ad hoc que concede aos usuários de diferentes organizações direitos de uso das permissões do Revisor e também aplica uma data de validade.
O segundo comando aplica um rótulo a um único arquivo chamado Analysis.docx e também protege o arquivo usando as permissões personalizadas no objeto de política de proteção ad hoc armazenado. Se o rótulo estiver configurado para configurações de proteção, eles serão substituídos pelas permissões personalizadas.
Exemplo 7: Verificar todos os arquivos em uma árvore de pastas e aplicar rótulos de acordo com as condições configuradas
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 :
Esse comando examina todos os arquivos na pasta Projetos e em qualquer uma de suas subpastas e define rótulos de acordo com as condições configuradas na política de rotulagem automática. Neste exemplo, há cinco arquivos e dois arquivos são rotulados automaticamente. O Datasheet.pdf arquivo não é rotulado porque seu conteúdo não corresponde às condições configuradas para rotulagem Analysis.xlsx automática, já foi rotulado manualmente e Pricelist.xlsx tem um rótulo mais alto. Como o comando é executado sem o parâmetro Force , os rótulos existentes para Analysis.xlsx e Pricelist.xlsx não são substituídos.
Se os rótulos aplicados também estiverem configurados para aplicar a proteção do Rights Management, os arquivos rotulados com êxito com esse comando também serão protegidos. Nesse caso, o proprietário do Rights Management (que tem a permissão de Controle Total do Rights Management) desses arquivos é o usuário que executou o comando do PowerShell.
Como o parâmetro PreserveFileDetails é especificado, a Data de Modificação dos arquivos rotulados permanece inalterada.
Exemplo 8: Verificar todos os arquivos em uma árvore de pastas e aplicar rótulos de acordo com as condições configuradas, substituindo todos os rótulos existentes
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 :
Esse comando é semelhante ao exemplo anterior, pois também verifica todos os arquivos na pasta Projetos e em qualquer uma de suas subpastas e define rótulos de acordo com as condições configuradas para rotulagem automática. No entanto, desta vez, como o comando inclui o parâmetro Force , ele também substitui o rótulo existente para Dashboard.xlsx, e Pricelist.xlsx.
O conteúdo de não correspondeu a nenhuma condição configurada Datasheet.pdf e esse arquivo permanece sem um rótulo.
Exemplo 9: Verificar um arquivo para todos os tipos de informações confidenciais conhecidos
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 :
Esse comando descobre todos os tipos de informações conhecidos em Project1.docx arquivo sem aplicar proteção ou um rótulo.
Exemplo 10: Verificar um arquivo em busca de tipos específicos de informações confidenciais
$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 :
Esse comando descobre os tipos de informações específicas de Número de Cartão de Crédito e Número do Seguro Social (SSN) no Project1.docx arquivo sem aplicar proteção ou um rótulo.
Exemplo 11: Verificar um arquivo em busca de tipos específicos de informações confidenciais e exibir os valores encontrados
$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
Semelhante ao exemplo anterior, o primeiro comando descobre os tipos de informações específicas de Número de Cartão de Crédito e SSN (Número do Seguro Social) no Project1.docx arquivo sem aplicar proteção ou um rótulo. No entanto, neste exemplo, os resultados são armazenados em uma variável para processamento adicional.
Em seguida, o segundo comando é usado para exibir o conteúdo dos tipos de informações correspondentes, que inclui o parâmetro SensitiveContents.
O comando final exibe e formata para facilitar a leitura dos dados identificados pelo primeiro tipo de informação confidencial, que neste exemplo são os detalhes do cartão de crédito.
Parâmetros
-AutoLabel
Quando -AutoLabel é usado, o cmdlet é executado no modo de rotulagem automática. Quando -AutoLabel cmdlet não é usado, é executado no modo de rotulagem manual.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SetAutoLabel
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-CustomPermissions
Especifica o nome da variável que armazena uma política de proteção ad hoc, que foi criada usando o cmdlet New-CustomPermissions . A política de proteção ad hoc é usada para proteger o arquivo ou arquivos com permissões personalizadas.
Propriedades do parâmetro
| Tipo: | AIPCustomPermissions |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SetLabelCustom
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
Custom
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-DiscoveryInfoTypes
Especifique os tipos de informações confidenciais a serem descobertos ao usar o parâmetro WhatIf .
Se você quiser pesquisar tipos de informações confidenciais específicos, especifique o número da ID da entidade para esse tipo de informação, que você pode encontrar listado em tipos de informações confidenciais no Exchange Server.
Por exemplo, "50842eb7-edc8-4019-85dd-5a5c1f2bb085" é o número a ser especificado para o tipo de informação confidencial Número do Cartão de Crédito.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
WhatIf
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Force
Substitui um rótulo existente quando as condições configuradas se aplicam.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SetAutoLabel
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-JustificationMessage
O motivo da justificativa para reduzir o rótulo de classificação, remover um rótulo ou remover a proteção, se a política de confidencialidade exigir que os usuários forneçam essas informações. Se a configuração de um rótulo disparar a justificativa e esse motivo não for fornecido, o rótulo não será aplicado. Nesse caso, o status retornado é "Ignorado" com o comentário "Justificativa necessária".
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SetLabel
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
SetLabelCustom
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
SetAutoLabel
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-LabelId
Especifica a identidade (ID) do rótulo a ser aplicado. Quando um rótulo tem sub-rótulos, sempre especifique a ID de apenas um sub-rótulo e não o rótulo pai.
Para localizar a ID do rótulo:
O valor da ID do rótulo não é exibido no portal de conformidade do Microsoft Purview. No entanto, você pode usar o seguinte comando do PowerShell do Office 365 Security &Compliance Center para encontrar esse valor: Get-Label | Format-Table -Property DisplayName, Name, Guid
Para arquivos que têm rótulos aplicados, você também pode executar o cmdlet Get-FileStatus para identificar a ID do rótulo (MainLabelId ou SubLabelId).
Propriedades do parâmetro
| Tipo: | Guid |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SetLabel
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
SetLabelCustom
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Owner
Especifica o proprietário para aplicar rótulo ou proteção ao arquivo.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SetLabel
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
SetLabelCustom
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
Custom
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
SetAutoLabel
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Path
Especifica um caminho local, um caminho de rede ou uma URL do SharePoint Server para os arquivos para os quais você deseja obter as informações de rótulo e proteção.
Os carateres universais não são suportados e as localizações webDav não são suportadas.
Para caminhos do SharePoint, há suporte para o seguinte:
- SharePoint Server 2022
- SharePoint Server 2019
- SharePoint Server 2016
- SharePoint Server 2013
Por exemplo:
C:\Folder\C:\Folder\Filename\\Server\Folderhttp://sharepoint.contoso.com/Shared%20Documents/Folder
Os caminhos podem incluir espaços quando você coloca o valor do caminho entre aspas.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | Nome Completo, Nome do Arquivo |
Conjuntos de parâmetros
(All)
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-PreserveFileDetails
Especifique este parâmetro para deixar a data modificada (Windows e SharePoint) e os valores modificados por (SharePoint) inalterados para documentos que você rotula:
Para arquivos locais ou de rede, o valor modificado de data permanece inalterado.
Para arquivos do SharePoint, a data modificada e modificados por valores permanecem inalterados.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
WhatIf
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
Entradas
System.String
Saídas
Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult
Observações
Ao executar o Set-FileLabel cmdlet em um loop, adicione o seguinte comando após o cmdlet:
[GC]::Collect()[GC]::WaitForPendingFinalizers()
Esses comandos garantem que o coletor de lixo seja executado e libere a memória que não é mais necessária.