Set-FileLabel

Define a etiqueta de confidencialidade e a proteção de um ficheiro através da etiquetagem manual ou da etiquetagem automática de acordo com a configuração da etiqueta 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 uma etiqueta de confidencialidade para um ou mais ficheiros. Esta ação pode aplicar automaticamente proteção quando as etiquetas são configuradas para aplicar encriptação.

Além disso, pode utilizar este cmdlet para aplicar permissões personalizadas quando 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 etiqueta ou proteção existente pode ser substituída.

Pode executar este cmdlet de forma não interativa. Para obter mais informações, veja o Guia de administração do cliente de etiquetagem unificada.

Nota

Ao executar o cmdlet Set-FileLabel num ciclo, adicione estas duas linhas após o cmdlet: [GC]::Collect()
[GC]::WaitForPendingFinalizers()

Exemplos

Exemplo 1: Aplicar a etiqueta "Geral" a todos os ficheiros que não têm atualmente uma etiqueta

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

Este comando identifica primeiro todos os ficheiros que não estão etiquetados com o cmdlet Get-FileStatus . Em seguida, estes ficheiros são etiquetados ao especificar a etiqueta "Geral" pelo respetivo ID.

Exemplo 2: Aplicar a etiqueta "Geral" a .docx ficheiros que não estão etiquetados

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

Este comando identifica primeiro todos os .docx ficheiros na pasta C:\Projects (e as respetivas subpastas) com Get-Child-Item e, em seguida, localiza a partir destes ficheiros os ficheiros que não estão etiquetados com o cmdlet Get-FileStatus . Os ficheiros resultantes são então etiquetados ao especificar a etiqueta "Geral" pelo respetivo ID.

Nota

Este comando utiliza o alias path de FullName, para que Get-Child-Item possa ser utilizado com Get-FileStatus.

Exemplo 3: Aplicar a etiqueta "Geral" a todos os ficheiros numa pasta e a qualquer uma das respetivas 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

Este comando define uma etiqueta com o nome "Geral" em todos os ficheiros na pasta Projetos e em qualquer uma das respetivas subpastas.

Se a etiqueta Geral estiver configurada para aplicar encriptação, os ficheiros que foram etiquetados com êxito com este comando também serão encriptados. Neste caso, o proprietário do Rights Management (que tem a permissão Controlo Total do Rights Management) destes ficheiros é o utilizador que executou o comando do PowerShell.

Neste exemplo, um ficheiro não foi etiquetado (ignorado) porque necessitava de justificação. Este pode ser o resultado pretendido para garantir que um ficheiro com uma etiqueta ou proteção de classificação superior não é substituído acidentalmente com uma etiqueta de classificação inferior ou que a proteção foi removida.

Para ativar esta salvaguarda, a política de etiquetas de classificação de Office 365 tem de ser configurada para exigir justificação para remover uma etiqueta ou reduzir a classificação. Quando executa este comando sem o parâmetro JustificationMessage e a etiqueta aciona a justificação, o ficheiro é ignorado com o comentário "Nenhuma etiqueta a aplicar".

Exemplo 4: Aplicar a etiqueta "Geral" a um único ficheiro, o que requer justificação

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

Este comando define a etiqueta "Geral" para um ficheiro que já está etiquetado com uma etiqueta de confidencialidade superior. A política de etiqueta de confidencialidade está configurada para exigir justificação para remover uma etiqueta ou reduzir a classificação. Uma vez que o comando inclui uma mensagem de justificação, a nova etiqueta é aplicada com êxito.

Exemplo 5: Proteger um ficheiro 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 utilizadores de diferentes organizações direitos de utilização das permissões do Revisor e também aplica uma data de expiração.

O segundo comando protege um único ficheiro com o nome Analysis.docx ao utilizar as permissões personalizadas no objeto de política de proteção ad hoc armazenado.

Exemplo 6: Aplicar uma etiqueta e permissões personalizadas ao ficheiro

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 utilizadores de diferentes organizações direitos de utilização das permissões do Revisor e também aplica uma data de expiração.

O segundo comando aplica uma etiqueta a um único ficheiro com o nome Analysis.docx e também protege o ficheiro ao utilizar as permissões personalizadas no objeto de política de proteção ad-hoc armazenado. Se a etiqueta estiver configurada para definições de proteção, estas serão substituídas pelas permissões personalizadas.

Exemplo 7: analisar todos os ficheiros numa pasta e qualquer uma das respetivas subpastas e aplicar etiquetas de acordo com as condições configuradas para a etiquetagem 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    :

Este comando analisa todos os ficheiros na pasta Projetos e qualquer uma das respetivas subpastas e define as etiquetas de acordo com as condições configuradas na política de etiquetagem automática. Neste exemplo, existem cinco ficheiros e dois ficheiros são automaticamente identificados. O ficheiro Datasheet.pdf não está etiquetado porque o respetivo conteúdo não corresponde às condições configuradas para a etiquetagem automática Analysis.xlsx já estava etiquetado manualmente e Pricelist.xlsx tem uma etiqueta superior. Uma vez que o comando é executado sem o parâmetro -Force , as etiquetas existentes para Analysis.xlsx e Pricelist.xlsx não são substituídas.

Se as etiquetas aplicadas também estiverem configuradas para aplicar a proteção do Rights Management, os ficheiros que forem identificados com êxito com este comando também são protegidos. Neste caso, o proprietário do Rights Management (que tem a permissão Controlo Total do Rights Management) destes ficheiros é o utilizador que executou o comando do PowerShell.

Uma vez que o parâmetro PreserveFileDetails é especificado, a Data De Modificação dos ficheiros etiquetados permanece inalterada.

Exemplo 8: analise todos os ficheiros numa pasta e em qualquer uma das respetivas subpastas e aplique etiquetas de acordo com as condições configuradas para etiquetagem automática, substituindo quaisquer etiquetas 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    :

Este comando é semelhante ao exemplo anterior, na medida em que também analisa todos os ficheiros na pasta Projetos e qualquer uma das respetivas subpastas e define as etiquetas de acordo com as condições configuradas para a etiquetagem automática. No entanto, desta vez, uma vez que o comando inclui o parâmetro -Force , também substitui a etiqueta existente para Dashboard.xlsxe Pricelist.xlsx.

O conteúdo de Datasheet.pdf não corresponde a condições configuradas e este ficheiro permanece sem uma etiqueta.

Exemplo 9: Analisar um ficheiro 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                 :

Este comando deteta todos os tipos de informações conhecidos no ficheiro Project1.docx sem aplicar proteção ou etiqueta.

Exemplo 10: Analisar um ficheiro 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                 :

Este comando detetará os tipos de informações específicos de "Número de Cartão de Crédito" e "Número de Segurança Social (SSN)" no ficheiro deProject1.docx sem aplicar proteção ou etiqueta.

Exemplo 11: Analise um ficheiro no modo WhatIf para obter tipos de informações confidenciais específicos e apresente 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

À semelhança do exemplo anterior, o primeiro comando detetará os tipos de informações específicos de "Número de Cartão de Crédito" e "Número de Segurança Social (SSN)" no ficheiro Project1.docx sem aplicar proteção ou etiqueta. No entanto, neste exemplo, os resultados são armazenados numa variável para processamento adicional.

Em seguida, o segundo comando é utilizado para apresentar o conteúdo dos tipos de informações correspondentes, que inclui o parâmetro SensitiveContents.

O comando final apresenta e formatação para facilitar a leitura dos dados identificados pelo primeiro tipo de informações confidenciais, que neste exemplo são os detalhes do cartão de crédito.

Parâmetros

-AutoLabel

Quando -AutoLabel é utilizado, o cmdlet é executado no modo de etiquetagem automática. Quando o cmdlet -AutoLabel não é utilizado, é executado no modo de etiquetagem manual.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-CustomPermissions

Especifica o nome da variável que armazena uma política de proteção ad-hoc, que foi criada com o cmdlet New-CustomPermissions . A política de proteção ad hoc é utilizada para proteger o ficheiro ou ficheiros com permissões personalizadas.

Tipo:AIPCustomPermissions
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-DiscoveryInfoTypes

Especifique os tipos de informações confidenciais a serem detetados quando utilizar o parâmetro WhatIf .

Se quiser procurar tipos de informações confidenciais específicos, especifique o número do ID da entidade para esse tipo de informação, que pode encontrar listado em Tipos de informações confidenciais no Exchange Server.

Por exemplo, "50842eb7-edc8-4019-85dd-5a5c1f2bb085" é o número a especificar para o tipo de informação confidencial número de cartão de crédito.

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Force

Substitui uma etiqueta existente quando as condições configuradas são aplicáveis.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-JustificationMessage

O motivo da justificação para reduzir a etiqueta de classificação, remover uma etiqueta ou remover a proteção, se a política de confidencialidade exigir que os utilizadores forneçam estas informações. Se a definição de uma etiqueta acionar a justificação e este motivo não for fornecido, a etiqueta não é aplicada. Neste caso, o estado devolvido é "Ignorado" com o comentário "Justificação necessária".

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-LabelId

Especifica a identidade (ID) da etiqueta a aplicar. Quando uma etiqueta tem sub-etiquetas, especifique sempre o ID de apenas uma sub-etiqueta e não a etiqueta principal.

Para localizar o ID da etiqueta:

O valor do ID da etiqueta não é apresentado no Portal de Conformidade do Microsoft Purview. No entanto, pode utilizar o seguinte comando Office 365 Centro de Conformidade & de Segurança do PowerShell para localizar este valor:Get-Label | Format-Table -Property DisplayName, Name, Guid

Para ficheiros com etiquetas aplicadas, também pode executar o cmdlet Get-FileStatus para identificar o ID da etiqueta (MainLabelId ou SubLabelId).

Tipo:Guid
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Owner

Especifica o proprietário para aplicar a etiqueta ou proteção ao ficheiro.

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Path

Especifica um caminho local, caminho de rede ou URL do SharePoint Server para os ficheiros para os quais pretende obter as informações de etiqueta e proteção.

Os carateres universais não são suportados e as localizações webDav não são suportadas.

Para os caminhos do SharePoint, são suportados os seguintes:

  • SharePoint Server 2022
  • SharePoint Server 2019
  • SharePoint Server 2016
  • SharePoint Server 2013

Por exemplo:

Os caminhos podem incluir espaços quando coloca o valor do caminho entre aspas.

Tipo:String[]
Aliases:FullName, FileName
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-PreserveFileDetails

Especifique este parâmetro para deixar a data modificada (Windows e SharePoint) e modificado pelos valores (SharePoint) inalterados para documentos que etiquetar:

  • Para ficheiros locais ou de rede, o valor modificado da data permanece inalterado.

  • Para ficheiros do SharePoint, a data de modificação e a modificação por valores permanecem inalteradas.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-WhatIf

Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

System.String[]

Saídas

Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult