1.2K
Puede usar la interfaz web del Centro de administración de Exchange (EAC) o el Obtener buzón Cmdlet de PowerShell para ver la información del buzón en su inquilino de Microsoft 365 (Exchange Online) o en la organización local de Exchange Server. En este artículo, le mostraremos varios comandos útiles de PowerShell con Get-Mailbox para obtener información diversa sobre los buzones de correo de Exchange.
El cmdlet Get-Mailbox está disponible en las organizaciones locales de Exchange Server (2019/2016/2013/2010) y el servicio Exchange Online basado en la nube. Algunos de los parámetros y atributos del cmdlet pueden diferir ligeramente según la versión de Exchange.
Empecemos conectándonos a Exchange.
si tienes un Servidor de Exchange local, simplemente puede abrir Exchange Management Shell (EMS) en una computadora o servidor unido a un dominio. Se conectará automáticamente al Exchange Server más cercano de su organización.
El módulo Exchange Online PowerShell V3 (EXO V3) se usa para conectarse al inquilino de Exchange Online. Puede instalar este módulo en cualquier computadora desde la Galería de PowerShell con el comando:
Install-Module -Name ExchangeOnlineManagement
Conéctese a su inquilino de Microsoft 365 (ex Office 365):
Connect-ExchangeOnline -UserPrincipalName [email protected]
Inicie sesión con una cuenta de administrador de Exchange Online mediante la autenticación moderna y confirme el inicio de sesión con Azure MFA.
Get-Mailbox: muestra los detalles del buzón de Exchange con PowerShell
Cuando se ejecuta sin parámetros, el cmdlet Get-Mailbox muestra la lista completa de buzones de su organización.
Nota. De forma predeterminada, el cmdlet Get-Mailbox devuelve un máximo de 1000 objetos en los resultados que coinciden con sus criterios. Si desea mostrar todos los objetos, debe usar el parámetro -ResultSize Unlimited:
Get-Mailbox -ResultSize Unlimited
Para mostrar información sobre un solo buzón, ejecute el comando:
Get-Mailbox -Identity [email protected]
Pista. Uno de los siguientes parámetros se puede especificar como Identidad: Nombre, Nombre para mostrar, Alias, Nombre distinguido, Dirección de correo electrónico, GUID, SamAccountName, ID de usuario de Microsoft 365 o UserPrincipalName.
El cmdlet solo mostrará algunas propiedades básicas del buzón. Para enumerar todos los atributos disponibles de un buzón de Exchange, ejecute:
Get-Mailbox -Identity [email protected]| Format-Table
El buzón de Exchange tiene varias docenas de atributos diferentes. Para mostrar solo ciertos atributos, se usa el cmdlet Select-Object. Por ejemplo, el siguiente comando enumerará el UPN del usuario, la dirección SMTP, la fecha de creación del buzón, la región del usuario y el tipo de buzón:
Get-Mailbox -Identity [email protected] | select-object UserPrincipalName, PrimarySMTPAddress, WhenMailboxCreated, UsageLocation, RecipientType
Puede exportar las propiedades del buzón a un archivo CSV. Para hacer esto, agregue la siguiente tubería al comando anterior:
| Export-Csv “C:PSmailboxreport.csv” -NoType
Puede mostrar información sobre las cuotas de un buzón específico:
Get-Mailbox -Identity [email protected] | select *quota*
Nota. Consulte nuestra publicación sobre cómo agregar o eliminar alias SMTP para los buzones de correo de Exchange Online.
Para averiguar el tamaño del buzón y la cantidad de elementos que contiene, debe usar una canalización con el cmdlet Get-MailboxStatistics:
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | select DisplayName,TotalItemSize, ItemCount
Los 10 buzones más grandes:
Get-Mailbox | Get-MailboxStatistics | sort-object totalitemsize –descending | Select-Object displayname, totalitemsize ‑First 10
Lista de buzones compartidos:
Get-Mailbox –ResultSize Unlimited –RecipientTypeDetails SharedMailbox
Buzones de archivo adicionales:
Get-Mailbox –ResultSize Unlimited –Archive
También puede mostrar la última hora de inicio de sesión del buzón o la última hora de actividad del usuario:
Get-Mailbox -ResultSize Unlimited |Foreach{ Get-MailboxStatistics -Identity $_.UserPrincipalName | Select DisplayName,LastLogonTime,LastUserActionTime}
Lista de buzones activos en los últimos 30 días:
Get-Mailbox -ResultSize Unlimited –RecipientTypeDetails UserMailbox,SharedMailbox | Where {(Get-MailboxStatistics $_.Identity).LastLogonTime -gt (Get-Date).AddDays(-30)} | Sort -Property @{e={( Get-MailboxStatistics $_.Identity).LastLogonTime}} -Descending | Select-Object DisplayName,@{n="LastLogon";e={(Get-MailboxStatistics $_.Identity).LastLogonTime}}
El siguiente comando enumerará los buzones de Exchange inactivos (buzones colocados en retención por juicio o retención local antes de la eliminación temporal):
Get-Mailbox -InactiveMailboxOnly | Format-List Name,DistinguishedName,ExchangeGuid,PrimarySmtpAddress
Lista de buzones eliminados temporalmente:
Get-Mailbox -SoftDeletedMailbox | select Name,RecipientTypeDetails,WhenSoftDeleted,IsInactiveMailbox
¿Cómo usar Get-EXOMailbox en Exchange Online?
En el nuevo módulo Exchange Online PowerShell v2, le recomendamos que utilice el Obtener EXOMalbox cmdlet en lugar del cmdlet Get-Mailbox. Get-EXOMailbox le permite obtener información sobre los objetos y sus propiedades solo en inquilinos de Exchange Online (Microsoft 365).
Get-ExoMailbox es una versión nueva y mejorada del cmdlet Get-Mailbox, casi se duplicó en producción y obtendrá resultados mucho más rápido. El antiguo cmdlet Get-Mailbox recupera todas las propiedades del objeto en la selección, pero Get-ExoMailbox solo devuelve un conjunto mínimo de atributos. En este ejemplo, puede ver que un objeto Get-Mailbox contiene 248 atributos, en comparación con solo 15 atributos para el objeto Get-ExoMailbox:
( Get-Mailbox alexw | Get-Member -MemberType Property).count ( Get-ExoMailbox alexw | Get-Member -MemberType NoteProperty).count
Al obtener información sobre cientos y miles de buzones, notará que el rendimiento de Get-ExoMailbox es varias veces mayor.
El cmdlet Get-ExoMailbox solo devuelve los siguientes atributos de forma predeterminada:
- Alias
- Nombre para mostrar
- Nombre distinguido
- Correos electrónicos
- ExchangeVersion
- ExternalDirectoryObjectIdExternalDirectoryObjectId
- guía
- Identificación
- Identidad
- Nombre
- ID de la organización
- PrimarySmtpAddress
- Tipo de destinatario
- Detalles del tipo de destinatario
- UserPrincipalName
Si necesita obtener el valor de un atributo de buzón adicional, debe especificarlo en el comando usando -Properties y/o -PropertySets:
Get-ExoMailbox alexw –Properties Alias, EmailAddresses, IsMailboxEnabled,WhenCreated,MaxSendSize,MaxReceiveSize,office -PropertySets Quota
Obtenga el tamaño del buzón en Exchange Online:
Get-ExoMailbox alexw| Get-ExoMailboxStatistics| select DisplayName, TotalItemSize, ItemCount, TotalDeletedItemSize|fl
Encuentre buzones con el reenvío automático habilitado:
Get-ExoMailbox -ResultSize Unlimited| where {$_.ForwardingAddress -ne $Null} | select DisplayName,ForwardingAddress
Obtenga una lista de los usuarios a los que se les ha otorgado permiso para acceder a un buzón:
Get-ExoMailbox alexw | Get-ExoMailboxpermission
Puede usar un filtro del lado del servidor para obtener todos los usuarios con un valor específico en los atributos del buzón. Por ejemplo, necesitamos encontrar buzones con un valor determinado en el atributo Oficina. Para realizar esta tarea, usaremos la opción -Filter y una expresión booleana de PowerShell.
Get-ExoMailbox -Filter {Office -eq "CA4"}