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
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[]>]
Description
Para el cliente de 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.
Ejemplos
Ejemplo 1: Aplicar la etiqueta "General" a todos los archivos que no tienen actualmente una etiqueta
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 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
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 identifica primero todos los .docx archivos de la C:\Projects carpeta (y sus subcarpetas) mediante Get-Child-Item y, a continuación, busca en estos archivos los que no están etiquetados mediante el Get-FileStatus cmdlet. A continuación, los archivos resultantes se etiquetan especificando la etiqueta General por su identificador.
Nota:
Este comando hace uso del alias Path de FullName, de modo que Get-Child-Item se puede usar con Get-FileStatus.
Ejemplo 3: Aplicar la etiqueta "General" a todos los archivos de una carpeta y cualquiera de sus subcarpetas
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 llamada "General" en todos los archivos de la C:\Projects carpeta y en 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 control total de Rights Management) de estos archivos es el usuario que ejecutó el comando de PowerShell.
En este ejemplo, un archivo no estaba etiquetado (omitido) porque requería una 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 que se ha quitado la protección.
Para habilitar esta protección, la directiva de etiquetas de clasificación de Office 365 debe configurarse para requerir justificación para quitar una etiqueta o reducir la clasificación. Cuando ejecute 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
$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 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
$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
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 en el objeto de política de protección ad hoc almacenado.
Ejemplo 6: Aplicación de una etiqueta y permisos personalizados al archivo
$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
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 en el 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: Analizar todos los archivos de un árbol de carpetas y aplicar etiquetas según las condiciones 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 examina todos los archivos de la carpeta Projects y cualquiera de sus subcarpetas, y establece etiquetas según las condiciones configuradas en la directiva de etiquetado automático. En este ejemplo, hay cinco archivos y dos archivos se etiquetan automáticamente. El Datasheet.pdf archivo no está etiquetado porque su contenido no coincide con las condiciones configuradas para el etiquetado Analysis.xlsx automático que ya se etiquetó 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 están configuradas 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 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 de modificación de los archivos etiquetados permanece sin cambios.
Ejemplo 8: Analizar todos los archivos de un árbol de carpetas y aplicar etiquetas de acuerdo con las condiciones configuradas, anulando las etiquetas 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 es similar al ejemplo anterior en que también examina todos los archivos de la carpeta Projects y cualquiera de sus subcarpetas, y establece 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.xlsx, y Pricelist.xlsx.
El contenido de Datasheet.pdf no coincidió con ninguna de las condiciones configuradas y este archivo permanece sin etiqueta.
Ejemplo 9: Examen de un archivo para todos los tipos de información confidencial conocidos
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 detecta todos los tipos de información conocidos en Project1.docx archivo sin aplicar protección ni etiqueta.
Ejemplo 10: Examen de un archivo para tipos de información confidencial específicos
$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 detecta los tipos de información específicos del número de tarjeta de crédito y el número de seguro social (SSN) en Project1.docx el archivo sin aplicar protección ni etiqueta.
Ejemplo 11: Examinar un archivo para obtener tipos de información confidencial específicos y mostrar los 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
De forma similar al ejemplo anterior, el primer comando detecta los tipos de información específicos del número de tarjeta de crédito y el número de la seguridad social (SSN) en Project1.docx el 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, el segundo comando se usa para mostrar el contenido de los tipos de información coincidentes, que incluye el parámetro SensitiveContents.
El comando final muestra y da formato 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 -AutoLabel cmdlet, se ejecuta en modo de etiquetado manual.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
SetAutoLabel
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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.
Propiedades de parámetro
| Tipo: | AIPCustomPermissions |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
SetLabelCustom
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
Custom
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
WhatIf
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Force
Reemplaza una etiqueta existente cuando se aplican las condiciones configuradas.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
SetAutoLabel
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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 la configuración de una etiqueta desencadena la justificación y no se proporciona este motivo, no se aplica la etiqueta. En este caso, el estado devuelto es "Omitido" con el comentario "Justificación requerida".
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
SetLabel
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
SetLabelCustom
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
SetAutoLabel
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-LabelId
Especifica la identidad (ID) de la etiqueta que se va a aplicar. Cuando una etiqueta tiene subetiquetas, especifique siempre el identificador de solo una subetiqueta y no la etiqueta primaria.
Para buscar el identificador de etiqueta:
El valor del identificador de etiqueta no se muestra en el portal de cumplimiento de Microsoft Purview. Sin embargo, puede usar el siguiente comando de PowerShell del Centro de seguridad y cumplimiento de Office 365 para encontrar este valor: Get-Label | Format-Table -Property DisplayName, Name, Guid
En el caso de los archivos que tienen etiquetas aplicadas, también puede ejecutar el cmdlet Get-FileStatus para identificar el identificador de etiqueta (MainLabelId o SubLabelId).
Propiedades de parámetro
| Tipo: | Guid |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
SetLabel
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
SetLabelCustom
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Owner
Especifica el propietario para aplicar la etiqueta o protección al archivo.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
SetLabel
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
SetLabelCustom
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
Custom
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
SetAutoLabel
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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 caracteres comodín y no se admiten ubicaciones webDav.
En el caso de las rutas de acceso de SharePoint, se admiten lo siguiente:
- SharePoint Server 2022
- SharePoint Server 2019
- SharePoint Server 2016
- SharePoint Server 2013
Por ejemplo:
C:\Folder\C:\Folder\Filename\\Server\Folderhttp://sharepoint.contoso.com/Shared%20Documents/Folder
Las rutas de acceso pueden incluir espacios al incluir el valor de ruta de acceso entre comillas.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Nombre completo, NombreDeArchivo |
Conjuntos de parámetros
(All)
| Posición: | 0 |
| Obligatorio: | True |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-PreserveFileDetails
Especifique este parámetro para dejar la fecha de modificación (Windows y SharePoint) y los valores modificados por (SharePoint) sin cambios 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.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-WhatIf
Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
WhatIf
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
Entradas
System.String
Salidas
Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult
Notas
Al ejecutar el Set-FileLabel cmdlet en un bucle, agregue el siguiente comando después del cmdlet:
[GC]::Collect()[GC]::WaitForPendingFinalizers()
Estos comandos garantizan que el recolector de elementos no utilizados se ejecute y libere la memoria que ya no es necesaria.