Set-FileLabel
Define o rótulo de sensibilidade e a proteção de um arquivo por meio de rotulagem manual ou rotulagem automática de acordo com a configuração do 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[]>]
Descrição
Para o cliente Microsoft Purview Information Protection, o cmdlet Set-FileLabel define um rótulo de confidencialidade para um ou mais arquivos. Essa ação pode aplicar proteção automaticamente 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.
Exemplos
Exemplo 1: Aplicar o rótulo "Geral" a todos os arquivos que não têm um rótulo no momento
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
Este 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 seu ID.
Exemplo 2: Aplicar o rótulo "Geral" a .docx arquivos que não estã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
Este comando primeiro identifica todos os .docx arquivos na pasta (e suas subpastas) usando C:\Projects e, em seguida, localiza nesses arquivos os que não estão rotulados usando o Get-FileStatus cmdlet. Os arquivos resultantes são então rotulados especificando o rótulo Geral por sua ID.
Observação
Este 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 da C:\Projects pasta e em qualquer uma de suas subpastas.
Se a etiqueta Geral estiver configurada para aplicar encriptação, os ficheiros que foram rotulados com êxito com este comando também serão encriptados. Nesse caso, o proprietário do Rights Management (que tem a permissão Controle Total do Rights Management) desses arquivos é o usuário que executou o comando PowerShell.
Neste exemplo, um arquivo não foi rotulado (ignorado) porque exigia justificação. 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 acidentalmente substituído 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 uma 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 aciona a justificação, o arquivo é ignorado com o comentário "Nenhum rótulo a ser aplicado".
Exemplo 4: Aplicar o rótulo "Geral" a um único ficheiro, o que requer justificação
$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
Este comando define o rótulo "Geral" para um arquivo que já está rotulado com um rótulo de sensibilidade mais alta. A política de rótulo de sensibilidade é configurada para exigir justificativa para remover um rótulo ou baixar a classificação. Como o comando inclui uma mensagem de justificação, 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: Digitalizar 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 :
Este comando verifica todos os arquivos na pasta Projetos e 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 Controle Total do Rights Management) desses arquivos é o usuário que executou o comando PowerShell.
Como o parâmetro PreserveFileDetails é especificado, a Data de Modificação dos arquivos rotulados permanece inalterada.
Exemplo 8: Analise todos os arquivos em uma árvore de pastas e aplique rótulos de acordo com as condições configuradas, substituindo quaisquer 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 :
Este comando é semelhante ao exemplo anterior, pois também verifica todos os arquivos na pasta Projetos e 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 do não corresponde a nenhuma condição configurada Datasheet.pdf e este 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 :
Este comando descobre todos os tipos de informação conhecidos no Project1.docx ficheiro sem aplicar proteção ou uma etiqueta.
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 :
Este comando descobre os tipos de informações específicas de Número de Cartão de Crédito e Número de Segurança Social (SSN) no Project1.docx ficheiro sem aplicar proteção ou uma etiqueta.
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 Número de Segurança Social (SSN) no Project1.docx arquivo sem aplicar proteção ou uma etiqueta. No entanto, neste exemplo, os resultados são armazenados em uma variável para processamento posterior.
O segundo comando é usado para exibir o conteúdo dos tipos de informações correspondentes, que inclui o parâmetro SensitiveContent.
O comando final exibe e formata para facilitar a leitura dos dados identificados pelo primeiro tipo de informação sensível, 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 dos parâmetros
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Suporta curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SetAutoLabel
| Posição: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por 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 dos parâmetros
| Tipo: | AIPCustomPermissions |
| Valor padrão: | None |
| Suporta curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SetLabelCustom
| Posição: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
Custom
| Posição: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-DiscoveryInfoTypes
Especifique os tipos de informações confidenciais a serem descobertos quando você usar o parâmetro WhatIf .
Se desejar pesquisar tipos de informações confidenciais específicos, especifique o número de 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 do Número do Cartão de Crédito.
Propriedades dos parâmetros
| Tipo: | String[] |
| Valor padrão: | None |
| Suporta curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
WhatIf
| Posição: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Force
Substitui um rótulo existente quando as condições configuradas se aplicam.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Suporta curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SetAutoLabel
| Posição: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-JustificationMessage
A razão justificativa para baixar o rótulo de classificação, remover um rótulo ou remover a proteção, se a política de sensibilidade exigir que os usuários forneçam essas informações. Se a definição de um rótulo acionar a justificação e este motivo não for fornecido, o rótulo não é aplicado. Neste caso, o status retornado é "Ignorado" com o comentário "Justificação necessária".
Propriedades dos parâmetros
| Tipo: | String |
| Valor padrão: | None |
| Suporta curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SetLabel
| Posição: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
SetLabelCustom
| Posição: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
SetAutoLabel
| Posição: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-LabelId
Especifica a identidade (ID) do rótulo a ser aplicado. Quando um rótulo tiver subrótulos, sempre especifique o ID de apenas um subrótulo e não o rótulo pai.
Para encontrar o ID da etiqueta:
O valor de 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 localizar esse valor: Get-Label | Format-Table -Property DisplayName, Name, Guid
Para arquivos com rótulos aplicados, você também pode executar o cmdlet Get-FileStatus para identificar a ID do rótulo (MainLabelId ou SubLabelId).
Propriedades dos parâmetros
| Tipo: | Guid |
| Valor padrão: | None |
| Suporta curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SetLabel
| Posição: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
SetLabelCustom
| Posição: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Owner
Especifica o proprietário para aplicar rótulo ou proteção ao arquivo.
Propriedades dos parâmetros
| Tipo: | String |
| Valor padrão: | None |
| Suporta curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
SetLabel
| Posição: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
SetLabelCustom
| Posição: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
Custom
| Posição: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
SetAutoLabel
| Posição: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Path
Especifica um caminho local, caminho de rede ou URL do SharePoint Server para os arquivos para os quais você deseja obter o rótulo e as informações de proteção.
Não há suporte para curingas e locais WebDav não são suportados.
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 dos parâmetros
| Tipo: | String[] |
| Valor padrão: | None |
| Suporta curingas: | False |
| DontShow: | False |
| Pseudónimos: | Nome Completo, Nome do arquivo |
Conjuntos de parâmetros
(All)
| Posição: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline por nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-PreserveFileDetails
Especifique este parâmetro para deixar os valores de data modificada (Windows e SharePoint) e modificados por (SharePoint) inalterados para documentos rotulados:
Para arquivos locais ou de rede, o valor Data de modificação permanece inalterado.
Para arquivos do SharePoint, os valores Data de modificação e Modificado por permanecem inalterados.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Suporta curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Posição: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por 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 dos parâmetros
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Suporta curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
WhatIf
| Posição: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
Entradas
System.String
Saídas
Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult
Notas
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 memória que não é mais necessária.