En esta entrada vamos a ver como obtener un listado de usuarios que tienen un protocolo específico habilitado en Exchange 2010 / 2013:
-
OWA
-
ActiveSync
-
UM (Mensajería unificada)
-
POP
-
IMAP
-
MAPI (RPC)
-
Outlook Anywhere (RPC/HTTS)
En todos los casos vamos a ver 2 ejemplos; uno que aplica a todos los usuarios de la organización y otro a usuarios de una OU (Organizational Unit) específica.
El formato a utilizar es muy similar en todos los escenarios:
-
Get-Mailbox o Get-CASMailbox – Dependiendo del protocolo
-
ResultSize unlimited – Si tengo más de 1000 objetos
-
“|” – El pipeline básicamente nos permite enviar la salida de un comando a otro
-
Where – El where y posterior bloque entre paréntesis “{….}” nos permite evaluar cada objeto del pipeline y en caso de ser verdadero (True) devuelve el objeto en cuestión
-
“$_” – Representa el objeto que viene del pipeline. Utilizando el “.” nos permite acceder a una propiedad específica del objeto
-
Select – Lo utilizamos para seleccionar una o más propiedades separando por “,”.
1a. Listar todos los buzones de la organización con OWA habilitado
Get-CASMailbox –ResultSize unlimited | Where {$_.OWAEnabled –eq $true} | Select Name
Nota: De forma predeterminada si no se especifica el parámetro ResultSize solo se retornan los primeros 1000 objetos. En definitiva, si tenemos menos de 1000 objetos no es necesario especificarlo.
Para exportar el resultado a CSV podemos ejecutarlo del siguiente modo:
Get-CASMailbox –ResultSize unlimited | Where {$_.OWAEnabled –eq $true} | Select Name | export-CSV –path x:\archivo.csv –NoTypeInformation
1b. Listar todos los buzones de una OU con OWA habilitado
En este caso vamos a ver los usuarios que se encuentran debajo de la OU “Contable”. La ruta especificada se encuentra en el formato dominio.com/OU Padre/OU Hija
Get-CasMailbox –OrganizationalUnit contoso.com/Departamentos/Contable| Where {$_.OWAEnabled –eq $true} | Select Name
2a. Listar todos los buzones de la organización con Activesync habilitado
Get-CasMailbox –ResultSize unlimited | Where {$_.ActiveSyncEnabled –eq $true} | Select Name
2b. Listar todos los buzones de una OU con Activesync habilitado
Get-CasMailbox –OrganizationalUnit contoso.com/Departamentos/Contable| Where {$_.ActiveSyncEnabled –eq $true} | Select Name
3a. Listar todos los buzones de la organización con mensajería unificada habilitada
Get-Mailbox –ResultSize unlimited | Where {$_.UMEnabled –eq $true} | Select Name
3b. Listar todos los buzones de una OU con mensajería unificada habilitada
Get-Mailbox –OrganizationalUnit contoso.com/Departamentos/Contable| Where {$_.UMEnabled –eq $true} | Select Name
Jose Felix says
Te agradezco mucho por estos comandos. Me han ayudado bastante para extraer justamente los usuarios que tenían OWA y ActiveASync habilitados en una UO especifica.
neyvis says
da el mismo resultado cuando pongo pop o imap q puede ser
Daniel Núñez Banega says
Hola Neyvis, seguramente es porque los mismos usuarios tienen tanto POP como IMAP habilitado. Revisaste esto?
luis felipe says
hola tengo un problema con respecto a lo de la conexión de móviles, no me deja vincular mi móvil ya que me manda un mensaje de que no puede autenticar mi usuario. y si tengo habilitado activesync, pop, imap, smtp no se si sea problema del certificado.
Daniel Núñez Banega says
Hola Luis Felipe, no tengo un artículo específico.
Te dejo un link al artículo de Activesync de Microsoft:
https://technet.microsoft.com/es-es/library/aa998357(v=exchg.141).aspx
Mariano Gallo says
Hola Daniel como estas?
Cuando tengo que listar de un dominio hijo, de que forma lo hago?
Daniel Núñez Banega says
Hola Mariano, en un entorno con múltiples dominios de AD podes usar el cmdlet Set-ADServerSettings. Esto te permite acceder a usuarios de otros dominios (sea hijo, etc) te dejo el link al detalle en Technet:
https://docs.microsoft.com/en-us/powershell/module/exchange/active-directory/set-adserversettings?view=exchange-ps
sebastian ballestero says
Hola Daniel, te hago una consulta un script para listar los buzones con nombre completo, probé con varios pero no hay caso no me los lista, desde ya muchas gracias saludos.
Daniel Núñez Banega says
Hola Sebastian, se podría por ejemplo hacer: Get-Mailbox | Select Displayname
Esto devolvería la propiedad de nombre a mostrar de todos los buzones (en caso de contar con más de 1000 buzones agregar el parámetro -ResultSize Unlimited)
Miguel Angel Ortega Ortega says
Como puedo listar los usuarios con buzones con reenvío activado en exchange onpremise?