Compartilhar via


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:

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