Set-FileLabel
Establece la etiqueta de confidencialidad y la protección de un archivo mediante el etiquetado manual o la etiqueta automática según la configuración de la etiqueta o los permisos personalizados.
Sintaxis
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 el cliente Microsoft Purview Information Protection, el cmdlet Set-FileLabel establece una etiqueta de confidencialidad para uno o varios archivos. Esta acción puede aplicar automáticamente la protección cuando las etiquetas están configuradas para aplicar el cifrado.
Además, puede usar este cmdlet para aplicar permisos personalizados cuando se crean como un objeto de directiva de protección ad hoc con el cmdlet New-CustomPermissions .
Cuando el comando se ejecuta correctamente, se puede reemplazar cualquier etiqueta o protección existente.
Puede ejecutar este cmdlet de forma no interactiva. Para obtener más información, consulte la guía de administración del cliente de etiquetado unificado.
Nota
Al ejecutar el cmdlet Set-FileLabel en un bucle, agregue estas dos líneas después del cmdlet : [GC]::Collect()
[GC]::WaitForPendingFinalizers()
Ejemplos
Ejemplo 1: Aplicar la etiqueta "General" a todos los archivos que no tienen actualmente una 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 primero todos los archivos que no están etiquetados mediante el cmdlet Get-FileStatus . A continuación, estos archivos se etiquetan especificando la etiqueta "General" por su identificador.
Ejemplo 2: Aplicar la etiqueta "General" a .docx archivos que no están 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 primero todos los archivos .docx de la carpeta C:\Projects (y sus subcarpetas) mediante Get-Child-Item y, a continuación, busca en estos archivos los que no están etiquetados mediante el cmdlet Get-FileStatus . A continuación, los archivos resultantes se etiquetan especificando la etiqueta "General" por su identificador.
Nota
Este comando usa el alias path de FullName para que Get-Child-Item se pueda usar con Get-FileStatus.
Ejemplo 3: Aplicar la etiqueta "General" a todos los archivos de una carpeta y cualquiera de sus subcarpetas
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 establece una etiqueta denominada "General" en todos los archivos de la carpeta Projects y cualquiera de sus subcarpetas.
Si la etiqueta General está configurada para aplicar el cifrado, los archivos que se etiquetaron correctamente con este comando también se cifrarán. En este caso, el propietario de Rights Management (que tiene el permiso de control total de Rights Management) de estos archivos es el usuario que ejecutó el comando de PowerShell.
En este ejemplo, no se etiquetó un archivo (omitido) porque requería justificación. Este podría ser el resultado previsto para asegurarse de que un archivo con una etiqueta o protección de clasificación superior no se sobrescribe accidentalmente con una etiqueta de clasificación inferior o se ha quitado la protección.
Para habilitar esta protección, la directiva de etiqueta de clasificación Office 365 debe configurarse para requerir justificación para quitar una etiqueta o reducir la clasificación. Al ejecutar este comando sin el parámetro JustificationMessage y la etiqueta desencadena la justificación, el archivo se omite con el comentario "No label to apply".
Ejemplo 4: Aplicar la etiqueta "General" a un único archivo, que requiere justificación
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 establece la etiqueta "General" para un archivo que ya está etiquetado con una etiqueta de confidencialidad superior. La directiva de etiqueta de confidencialidad está configurada para requerir justificación para quitar una etiqueta o reducir la clasificación. Dado que el comando incluye un mensaje de justificación, la nueva etiqueta se aplica correctamente.
Ejemplo 5: Protección de un archivo con permisos personalizados
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
El primer comando crea un objeto de directiva de protección ad hoc que concede a los usuarios de diferentes organizaciones derechos de uso de los permisos revisores y también aplica una fecha de expiración.
El segundo comando protege un único archivo denominado Analysis.docx mediante los permisos personalizados del objeto de directiva de protección ad hoc almacenado.
Ejemplo 6: Aplicar una etiqueta y permisos personalizados al archivo
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
El primer comando crea un objeto de directiva de protección ad hoc que concede a los usuarios de diferentes organizaciones derechos de uso de los permisos revisores y también aplica una fecha de expiración.
El segundo comando aplica una etiqueta a un único archivo denominado Analysis.docx y también protege el archivo mediante los permisos personalizados del objeto de directiva de protección ad hoc almacenado. Si la etiqueta está configurada para la configuración de protección, se reemplazan por los permisos personalizados.
Ejemplo 7: Examinar todos los archivos de una carpeta y cualquiera de sus subcarpetas, y aplicar etiquetas según las condiciones configuradas para el etiquetado automático
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 examina todos los archivos de la carpeta Projects y cualquiera de sus subcarpetas, y establece las etiquetas según las condiciones configuradas en la directiva de etiquetado automático. En este ejemplo hay cinco archivos y dos de ellos se etiquetan automáticamente. El archivo Datasheet.pdf no está etiquetado porque su contenido no coincide con las condiciones configuradas para el etiquetado automático Analysis.xlsx ya estaba etiquetado manualmente y Pricelist.xlsx tiene una etiqueta superior. Dado que el comando se ejecuta sin el parámetro -Force , las etiquetas existentes para Analysis.xlsx y Pricelist.xlsx no se sobrescriben.
Si las etiquetas aplicadas también se configuran para aplicar la protección de Rights Management, los archivos que se etiquetan correctamente con este comando también están protegidos. En este caso, el propietario de Rights Management (que tiene el permiso de control total de Rights Management) de estos archivos es el usuario que ejecutó el comando de PowerShell.
Dado que se especifica el parámetro PreserveFileDetails, la fecha modificada de los archivos etiquetados permanece sin cambios.
Ejemplo 8: Examinar todos los archivos de una carpeta y cualquiera de sus subcarpetas, y aplicar etiquetas según las condiciones configuradas para el etiquetado automático, invalidando las 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 es similar al ejemplo anterior en que también examina todos los archivos de la carpeta Projects y cualquiera de sus subcarpetas, y establece las etiquetas según las condiciones configuradas para el etiquetado automático. Sin embargo, esta vez, dado que el comando incluye el parámetro -Force , también reemplaza la etiqueta existente para Dashboard.xlsxy Pricelist.xlsx.
El contenido de Datasheet.pdf no coincidía con ninguna condición configurada y este archivo permanece sin una etiqueta.
Ejemplo 9: Examen de un archivo en modo WhatIf para todos los tipos de información confidencial conocidos
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 detecta todos los tipos de información conocidos en Project1.docx archivo sin aplicar protección ni etiqueta.
Ejemplo 10: Examen de un archivo en modo WhatIf para tipos de información confidencial 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 detecta los tipos de información específicos de "Número de tarjeta de crédito" y "Número de seguro social (SSN)" en Project1.docx archivo sin aplicar protección ni etiqueta.
Ejemplo 11: Examinar un archivo en modo WhatIf para obtener tipos de información confidencial específicos y mostrar los 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
Al igual que en el ejemplo anterior, el primer comando detecta los tipos de información específicos de "Número de tarjeta de crédito" y "Número de seguridad social (SSN)" en Project1.docx archivo sin aplicar protección ni etiqueta. Sin embargo, en este ejemplo, los resultados se almacenan en una variable para su posterior procesamiento.
A continuación, se usa el segundo comando para mostrar el contenido de los tipos de información coincidentes, que incluye el parámetro SensitiveContents.
El comando final muestra y da formatos para facilitar la lectura de los datos identificados por el primer tipo de información confidencial, que en este ejemplo es los detalles de la tarjeta de crédito.
Parámetros
-AutoLabel
Cuando se usa -AutoLabel, el cmdlet se ejecuta en modo de etiquetado automático. Cuando no se usa el cmdlet -AutoLabel, se ejecuta en modo de etiquetado manual.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CustomPermissions
Especifica el nombre de variable que almacena una directiva de protección ad hoc, que se creó mediante el cmdlet New-CustomPermissions . La directiva de protección ad hoc se usa para proteger el archivo o los archivos con permisos personalizados.
Tipo: | AIPCustomPermissions |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DiscoveryInfoTypes
Especifique los tipos de información confidencial que se detectarán al usar el parámetro WhatIf .
Si desea buscar tipos de información confidencial específicos, especifique el número de identificador de entidad para ese tipo de información, que puede encontrar en Tipos de información confidencial en Exchange Server.
Por ejemplo, "50842eb7-edc8-4019-85dd-5a5c1f2bb085" es el número que se debe especificar para el tipo de información confidencial Número de tarjeta de crédito.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Force
Cuando se cumplen las condiciones configuradas, reemplaza una etiqueta existente.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-JustificationMessage
Motivo de justificación para reducir la etiqueta de clasificación, quitar una etiqueta o quitar la protección, si la directiva de confidencialidad requiere que los usuarios proporcionen esta información. Si al establecer una etiqueta se desencadena la justificación y no se proporciona este motivo, no se aplica la etiqueta. En este caso, el estado que se devuelve es "Omitido" con el comentario "Justificación necesaria".
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-LabelId
Especifica la identidad (ID) de la etiqueta que se va a aplicar. Si una etiqueta tiene subetiquetas, especifique únicamente el identificador de una subetiqueta, no el de la etiqueta principal.
Para buscar el identificador de etiqueta:
El valor del identificador de etiqueta no se muestra en el portal de cumplimiento Microsoft Purview. Sin embargo, puede usar el siguiente comando de PowerShell Office 365 Security & Compliance Center para encontrar este valor:Get-Label | Format-Table -Property DisplayName, Name, Guid
Para los archivos que tienen etiquetas aplicadas, también puede ejecutar el cmdlet Get-FileStatus para identificar el identificador de etiqueta (MainLabelId o SubLabelId).
Tipo: | Guid |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Owner
Especifica el propietario para aplicar la etiqueta o la protección al archivo.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Path
Especifica una ruta de acceso local, una ruta de acceso de red o una dirección URL de SharePoint Server a los archivos para los que desea obtener la información de etiqueta y protección.
No se admiten los caracteres comodín ni las ubicaciones de WebDAV.
En el caso de las rutas de acceso de SharePoint, se admite lo siguiente:
- SharePoint Server 2022
- SharePoint Server 2019
- SharePoint Server 2016
- SharePoint Server 2013
Por ejemplo:
- C:\Folder\
- C:\Folder\Filename
- \\Server\Folder
- http://sharepoint.contoso.com/Shared%20Documents/Folder
Las rutas de acceso pueden incluir espacios al incluir el valor de ruta de acceso entre comillas.
Tipo: | String[] |
Alias: | FullName, FileName |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-PreserveFileDetails
Especifique este parámetro para dejar la fecha de modificación (Windows y SharePoint) y los valores modificados por (SharePoint) sin modificar para los documentos que etiquete:
En el caso de los archivos locales o de red, el valor fecha de modificación permanece sin cambios.
En el caso de los archivos de SharePoint, los valores Fecha de modificación y Modificado por permanecen sin cambios.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
System.String[]
Salidas
Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult