Agregar usuarios a una política de retención de Office 365 con PowerShell

Para conservar su contenido de Office 365, puede usar la Política de retención que puede crear en el Centro de seguridad y cumplimiento.

Un paso importante es agregar usuarios a la política. Esto se puede hacer fácilmente con PowerShell.

De esta forma, también podemos agregar automáticamente nuevos usuarios a una política de retención existente ejecutando un script una vez al día o a la semana.

Antes de agregar la política de retención, primero queremos encontrar todos los usuarios que aún no tienen una.

Entonces obtendremos una lista de todos los usuarios a través de Exchange y les aplicaremos una política.

Al usar PowerShell, podemos obtener una lista de todos sus buzones de correo de Exchange y obtener una lista de todas las ubicaciones de Exchange (usuarios) agregadas actualmente en la política de retención.

Esos dos comparados darán como resultado una lista de buzones faltantes que podemos agregar a la política de retención con Powershell.

Nota de importación: primero conéctese a Exchange Online y luego al Centro de seguridad y cumplimiento. De lo contrario, obtendrá un resultado diferente del comando get-recipient.

Conexión a Office 365 Exchange Online

Conéctese a Exchange Online con el siguiente código o esta secuencia de comandos del conector en mi galería de Microsoft Technet

$cred = get-credential $ExchSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $cred -Authentication Basic -AllowRedirection Import-PSSession $ExchSession

Conexión al Centro de cumplimiento y seguridad de Office 365 mediante PowerShell remoto

Puede conectarse al Centro de seguridad y cumplimiento con el siguiente comando o este guion

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid/ -Credential $cred -Authentication Basic -AllowRedirection

Import-PSSession $Session

Obtener una lista de todos sus usuarios con un buzón

Entonces, primero comenzamos con la creación de una lista de todos los buzones que queremos conservar.

Con Get-Recipient obtenemos todos los objetos de destinatario existentes en su organización.

Para comparar la lista, solo necesitamos la dirección PrimarySmtpAddress.

Al usar el cmd de selección podemos limitar los resultados y seleccionar solo los campos que necesitamos.

Asegúrate de ordenar los resultados, para que podamos compararlos más tarde.

$ExchUsers = Get-Recipient -ResultSize Unlimited -RecipientType UserMailbox | select PrimarySmtpAddress | sort-object PrimarySmtpAddress

Si usa SharePoint o OneDrive en su organización, es probable que tenga algunos usuarios externos enumerados en Office 365. (Compruébelo en el Centro de administración de Office 365 > Usuarios invitados).

Desea excluir a esos usuarios de los resultados.

Podemos hacer esto basándonos en el Alias ​​y filtrar todos los resultados que no contengan la marca EXT: $_.Alias -notlike '#EXT#'.

También tenía una dirección .onmicrosoft.com que no necesitaba agregarse, exclúyala con $_.primarySmtpAddress -notlike '*.onmicrosoft.com'

Con ambas cláusulas where, obtienes el siguiente comando:

$ExchUsers = Get-Recipient -ResultSize Unlimited -RecipientType UserMailbox | where {( $_.Alias -notlike '#EXT#' ) -and ( $_.primarySmtpAddress -notlike '*.onmicrosoft.com' )} | select PrimarySmtpAddress | sort-object PrimarySmtpAddress

Obtener todos los buzones actuales en la política de retención

Para obtener todos los usuarios que hay actualmente en la política de retención, primero tendremos que buscar el nombre o GUID de la política.

Ejecute el siguiente comando para obtener las políticas con los nombres y GUID.

El GUID no es necesario, pero podría ser más fácil usar el GUID que el nombre en la secuencia de comandos.

Get-RetentionCompliancePolicy | select name,guid

Esto devolverá una tabla con todas las políticas de retención en su inquilino de Office 365.

Get-RetentionCompliancePolicy -Identity <policy-name or guid> -DistributionDetail | Select -ExpandProperty ExchangeLocation

Para obtener todos los buzones que ya tienen asignada una política de retención, necesitamos expandir ExchangeLocation.

Esto nos dará una lista de todos los objetos con sus nombres, dirección de correo electrónico, tipo de recurso, etc.

Para comparar las listas, ordenaremos los resultados según el nombre, que en realidad es la dirección de correo electrónico:

$SecUsers = Get-RetentionCompliancePolicy -Identity <policy-name or guid> -DistributionDetail | Select -ExpandProperty ExchangeLocation | foreach {$_.Name} | sort-object $_.Name

Comparando los dos y sumando los que faltan

Todo queda por comparar con dos matrices y agregar los usuarios que faltan a la política de retención:

$notInSec = $exchUsers.primarySmtpAddress | Where {$secUsers -NotContains $_} foreach ($user in $notInSec){ Set-RetentionCompliancePolicy -Identity "<PolicyName>" -AddExchangeLocation $user }

Otros artículos relacionados

Desactivar y desactivar UAC en Windows 10

Desactivar y desactivar UAC en Windows 10

UAC (User Account Control) es parte del sistema de seguridad de Windows para evitar instalaciones no deseadas o cambios de ...
Leer Más
Encontrar un nuevo administrador de contraseñas

Encontrar un nuevo administrador de contraseñas

He estado usando administradores de contraseñas durante más de 10 años. Usé principalmente KeePass, que funciona bien para mí personalmente, ...
Leer Más
Elon Musk - Tesla, SpaceX y la búsqueda de un futuro fantástico

Los mejores libros relacionados con la tecnología para leer en 2019

Como profesional de TI, lee mucho, la mayoría de las veces son cosas aburridas como manuales y artículos técnicos. Entonces, ...
Leer Más
Cómo incluir en la lista blanca una dirección de correo electrónico en Office 365

Cómo incluir en la lista blanca una dirección de correo electrónico en Office 365

Las políticas de amenazas en Exchange Online evitan que los correos electrónicos de phishing y el malware terminen en el ...
Leer Más
Arreglar 'No se puede acceder a este sitio' rápidamente

Arreglar ‘No se puede acceder a este sitio’ rápidamente

El error "No se puede acceder a este sitio” es un error común que puede obtener en Chrome cuando intenta ...
Leer Más
Eliminar directorios vacíos en Windows

Eliminar directorios vacíos en Windows

Eliminar directorios vacíos en Windows 10 es realmente simple con un pequeño script de PowerShell o RoboCopy cmd. Realmente no ...
Leer Más

Deja un comentario