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:
- C:\Pasta\
- C:\Folder\Filename
- \\Server\Folder
- http://sharepoint.contoso.com/Shared%20Documents/Folder
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