Set-FileLabel
Define o rótulo de confidencialidade e a proteção de um arquivo por meio de rotulagem manual ou rotulagem automática de acordo com a configuração de rótulo ou permissões personalizadas.
Sintaxe
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>]
Description
Para o cliente 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 são 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 administração do cliente de rotulagem unificada.
Observação
Ao executar o cmdlet Set-FileLabel em um loop, adicione estas duas linhas após o cmdlet: [GC]::Collect()
[GC]::WaitForPendingFinalizers()
Exemplos
Exemplo 1: aplicar o rótulo "Geral" a todos os arquivos que atualmente não têm um rótulo
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
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 estão rotulados
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
Primeiro, esse comando identifica todos os arquivos .docx na pasta C:\Projects (e suas subpastas) usando Get-Child-Item e localiza nesses arquivos os que não são rotulados usando o cmdlet Get-FileStatus . Os arquivos resultantes são rotulados especificando o rótulo "Geral" por sua 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 a qualquer uma de suas subpastas
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
Esse comando define um rótulo chamado "Geral" em todos os arquivos na pasta Projetos 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 de Rights Management (que tem a permissão Controle Total do Rights Management) desses arquivos será 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 de classificação ou proteçã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 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
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
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
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
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 chamado 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
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
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 definido para configurações de proteção, eles serão substituídos pelas permissões personalizadas.
Exemplo 7: examinar todos os arquivos em uma pasta e em qualquer uma de suas subpastas e aplicar rótulos de acordo com as condições configuradas para rotulagem automática
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 :
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 automaticamente rotulados. O arquivo Datasheet.pdf não é rotulado porque seu conteúdo não corresponde às condições configuradas para rotulagem automática Analysis.xlsx 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 forem configurados para aplicar a proteção de Rights Management, os arquivos rotulados com êxito com este comando também serão protegidos. Nesse caso, o proprietário de Rights Management (que tem a permissão Controle Total do Rights Management) desses arquivos será o usuário que executou o comando do PowerShell.
Como o parâmetro PreserveFileDetails é especificado, a Data modificada dos arquivos rotulados permanece inalterada.
Exemplo 8: examinar todos os arquivos em uma pasta e em qualquer uma de suas subpastas e aplicar rótulos de acordo com as condições configuradas para rotulagem automática, substituindo quaisquer rótulos existentes
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 :
Esse comando é semelhante ao exemplo anterior, pois também 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 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.xlsxe Pricelist.xlsx.
O conteúdo de Datasheet.pdf não correspondeu a nenhuma condição configurada e esse arquivo permanece sem um rótulo.
Exemplo 9: Verificar um arquivo no modo WhatIf para todos os tipos de informações confidenciais conhecidos
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 :
Esse comando descobre todos os tipos de informações conhecidas em Project1.docx arquivo sem aplicar proteção ou rótulo.
Exemplo 10: Verificar um arquivo no modo WhatIf para tipos de informações confidenciais específicos
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 :
Esse comando descobre os tipos de informações específicas de "Número do Cartão de Crédito" e "Número do Seguro Social (SSN)" em Project1.docx arquivo sem aplicar proteção ou rótulo.
Exemplo 11: examinar um arquivo no modo WhatIf para obter tipos específicos de informações confidenciais e exibir os valores encontrados
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
Semelhante ao exemplo anterior, o primeiro comando descobre os tipos de informações específicos de "Número do Cartão de Crédito" e "Número do Seguro Social (SSN)" em Project1.docx arquivo sem aplicar proteção ou 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 é o crédito cartão detalhes.
Parâmetros
-AutoLabel
Quando -AutoLabel é usado, o cmdlet é executado no modo de rotulagem automática. Quando o cmdlet -AutoLabel não é usado, é executado no modo de rotulagem manual.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | AIPCustomPermissions |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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 em 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.
Tipo: | String[] |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Force
Substitui um rótulo existente quando as condições configuradas aplicam-se.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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. Neste caso, o status retornado é "Ignorado" com o comentário "Justificativa necessária".
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-LabelId
Especifica a identidade (ID) do rótulo a ser aplicado. Quando um rótulo tem sub-rótulos, sempre especifique a ID apenas de um sub-rótulo e não do 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 Centro de Conformidade do & de Segurança Office 365 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).
Tipo: | Guid |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Owner
Especifica o proprietário para aplicar rótulo ou proteção ao arquivo.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Não há suporte para curingas e locais de WebDav.
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\Folder
- http://sharepoint.contoso.com/Shared%20Documents/Folder
Os caminhos podem incluir espaços quando você coloca o valor do caminho entre aspas.
Tipo: | String[] |
Aliases: | FullName, FileName |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-PreserveFileDetails
Especifique esse 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 Date permanece inalterado.
Para arquivos do SharePoint, a data modificada e os valores Modificados por permanecem inalterados.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
System.String[]
Saídas
Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult