Mostrando entradas con la etiqueta Exchange. Mostrar todas las entradas
Mostrando entradas con la etiqueta Exchange. Mostrar todas las entradas

lunes, 15 de febrero de 2021

Como exportar un buzón de Exchange fácilmente

 Vamos a ver una forma rápida de realizar una exportación de un buzón de Exchange. Esto no es un proceso automático, ni para un gran volumen de cuentas. Es para casos puntuales.

Primero de todo, y desde la shell de Exchange, lanzamos el siguiente comando para asegurarnos los permisos de importacion-exportacion en Exchange:

New-ManagementRoleAssignment -Role "mailbox import export" -user tuusuario

Ahora vamos con el comando para la exportación en sí:

New-MailboxExportRequest -mailbox nombreusuario -FilePath \\ruta fichero\fichero.pst

Al cabo de un momento iniciará la descarga en la ubicación indicada.

No tiene mas. ¡Espero que os sea útil!

miércoles, 7 de octubre de 2020

Aumentar el espacio de reglas en Exchange Online (o365)

 Cada vez recibimos más mails, y para poder lidiar con ellos, cada vez debemos crear más reglas organizativas. Pero si estás trabajando con o365, aun teniendo una licencia e3, te puedes encontrar con el caso de no poder aplicar más reglas, al llegar al límite de espacio aplicable para las mismas.

Si, resulta que O365 tiene un límite por defecto para las reglas ,de 32 kb. En el caso que me he encontrado, esto permite crear hasta unas 130 reglas de correo. Si aun así te quedas corto, es posible modificar dicho límite. 

Para ello, lo primero, conectamos a o365. Pongo aquí los comandos del tirón, aunque tengo otro artículo indicando el proceso. (todo sin comillas).

"connect-msolservice" y pasamos nuestras credenciales

"Set-ExecutionPolicy RemoteSigned

"$UserCredential = Get-Credential" y pasamos credenciales

"$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection" Esto es el comando de conexión.

"Import-PSSession $Session -DisableNameChecking"

Ahora sí entramos con los comandos para la modificación de las cuotas de espacio para las reglas:

Empezamos viendo el tamaño de cuota del que dispone con este comando:

Get-Mailbox -Identity "<MailboxIdentity>" | Format-List RulesQuota

Reemplazar <MailboxIdentity> por la cuenta del usuario, por ejemplo, 

Get-Mailbox -Identity "mimail@midominio.com" | Format-List RulesQuota

El valor que dará será normalmente de 32 KB, pero puedes modificarlo hasta los 256 KB. Vamos con el comando de modificación, una vez que hemos visto el valor disponible:

Set-Mailbox -Identity <MailboxIdentity> -RulesQuota "<32 KB to 256 KB>"

Esto seria ,de nuevo por ejemplo, algo así:

Set-Mailbox -Identity mimail@midominio.com -RulesQuota "256 KB"

Tienes más info en este LINK de Microsoft, donde describen cómo aplicar esta modificación a un listado de cuentas, por ejemplo, en vez de a usuarios individuales, pero he preferido no extenderme más, ya que no se da mucho el caso de usuarios que excedan el límite de reglas.

miércoles, 8 de enero de 2020

Modificar el tipo de mailbox en Exchange

A lo largo de los años y en diferentes empresas vengo observando que normalmente los usuarios utilizan algún tipo de cuenta genérica a la que acceden uno o varios miembros del mismo departamento. Normalmente es una cuenta de usuario, con su password, y es compartida por las personas que quieren acceder a la misma. La otra opción es un grupo de distribución que distribuye, valga la redundancia, los mails, a los miembros del grupo.


Lo que no he visto habitualmente es un mailbox compartido, o shared mailbox.
Un shared mailbox tiene varias características interesantes frente a las anteriores opciones:

  1. El usuario asociado a la cuenta se deshabilita automáticamente. No se accede con el user/pass del usuario de cuenta a la cuenta de correo.
  2. Los permisos a esta cuenta pueden ser de acceso y/o envío, de manera que el usuario no tiene que recordar más passwords. Simplemente puede agregar esa cuenta de correo compartida a su mailbox en Outlook.
  3. No hay límite de usuarios accediendo a una cuenta compartida, mientras que en una cuenta común en la que se comparte el user/pass, hay un límite que viene definido no por el número de personas conectadas, sino por el numero de operaciones que se realizan sobre la cuenta. Es decir, pueden conectarse 20 personas, por ejemplo sin tocar nada, pero uno o dos moviéndose por carpetas y enviando mails, o 5 personas trabajando sobre la cuenta simultáneamente. Esto no es un problema en un shared mailbox.

Vamos a tomar como ejemplo, una cuenta llamada "correoprueba", el dominio es lo de menos  ;)

Si hacemos una busqueda en exchange, aparece como "user mailbox"


A continuación, ejecutamos el comando que nos permite cambiar el buzon de usuario a cuenta compartida, shared mailbox: Set-Mailbox correoprueba -Type shared
Lo lanzamos desde la consola de comandos de Exchange.


Tras esto, veremos que Exchange detecta la cuenta de otra manera:


Bien, ahora toca dar accesos a este buzón. Para ello, en la misma búsqueda de la cuenta en Exchange, pulsamos botón derecho, y veremos las siguientes opciones:


Para dar permisos de envío deberemos hacer click sobre "Manage Send As Permission" y agregar a los usuarios aquí. Por el contrario, si solo queremos que puedan acceder a la cuenta pero no enviar, deberemos dar "Full Access Permission"

Una vez asignados los permisos, agregar la cuenta al usuario para que pueda trabajar con ella en su Outlook es muy fácil. En Outlook vamos a Archivo-> Configuración de la cuenta, y ahí, en la primera pestaña, en correo electrónico, agregamos la cuenta pulsando en "nuevo.


Aparecerá el nuevo buzón debajo de vuestro Inbox habitual.
Despues de agregar el shared mailbox, hay que tener cuidado con el campo "de", ya que si tienes permisos de "send as", puedes enviar desde tu cuenta habitual, y desde la cuenta compartida.

A modo de "bonus", no sólo puedes cambiar de cuenta "regular" de usuario a "shared", sino que dispones de estos tipos de mailbox: Regular, Room, Equipment, y Shared, que es la que hemos visto. de manera que revertir el cambio seria tan fácil como hacer "Set-Mailbox -Identity "usuario" -Type Regular.

Y otro truco mas: esto tambien aplica en o365. Seria, por ejemplo, Set-Mailbox -Identity mailbox@contoso.onmicrosoft.com -Type Shared

miércoles, 23 de octubre de 2019

Cómo conectar a Exchange Online con PowerShell

Ya sabemos que Microsoft quiere que administremos todo con PowerShell, y eso incluye sus servicios on-line. Y aunque el interfaz gráfico es muy cómodo, puntualmente se presentan tareas que es recomendable realizar via PowerShell, en lugar de pelearnos con los distintos menús de los sistemas de Azure.


En este caso, vamos a ver cómo realizar la conexión a Exchange Online PowerShell, ya que hay que realizar alguna configuración previa. Lo primero de todo, abrimos PowerShell como administradores.
Ejecutamos el comando  "Set-ExecutionPolicy RemoteSigned" para solicitar que lo que se descargue de Internet sea de confianza (esto vale con realizarlo solo una vez), y le pasamos nuestras credenciales con "$UserCredential = Get-Credential" (el nombre completo de cuenta, con el @xxx.com).


A continuación, realizaremos la conexión. Para ello, hay que tener primero en cuenta el requisito de proxy. Para ello, pasamos el siguiente comando primero, si vamos pro proxy. Si no, saltatelo:

$ProxyOptions = New-PSSessionOption -ProxyAccessType <Value
donde el valor "value" debe ser IEConfig, WinHttpConfig o AutoDetect, según lo que corresponda (siempre se puede cambiar el valor a posteriori, si te has equivocado al pasarlo.

Después pasamos el comando de conexion a Office365:

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection

Si configuraste proxy, al final del comando debes agregar "-SessionOption $ProxyOptions" (sin comillas), quedando esto: $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection -SessionOption $ProxyOptions

Ya solo queda por pasar el comando "Import-PSSession $Session -DisableNameChecking", sin comillas.


Dos últimos detalles:
- Al finalizar, ejecutar el siguiente comando para cerrar sesión: Remove-PSSession $Session
- Puede suceder que estés trabajando en un entorno híbrido. En ese caso, necesitas instalar un archivo desde tu centro de administracion de Exchange Online, en el apartado "híbrido".


Seleccionas la opción que corresponda, y autorizas la descarga. Para la implementación híbrida, el paquete que descarga es Microsoft.Online.CSE.Hybrid.Client.application.


Si da problemas, lanza la descarga desde Internet Explorer (todavía andamos así, Microsoft?).
Con esto, deberia ser posible realizar consultas y modificaciones de cuentas, asi como migraciones de un entorno a otro desde linea de comandos.

Para agregar el complemento de PowerShell, que puede ser lo que falte para determinados comandos, hay que instalar el módulo PowerShell:


Similar a la instalación del módulo híbrido, pero en vez de pedir la ejecución de una aplicación, ejecuta una ventana de PowerShell con las instrucciones de conexión:


Para verificar que la conexion ha sido realizada correctamente, basta con ejecutar en PowerShell el comando get-mailbox.
Para cualquier duda adicional, tenéis el enlace de Microsoft de ayuda en este ENLACE.

martes, 24 de septiembre de 2019

No se puede migrar una cuenta desde o365 a Exchange: Cannot find a recipient that has mailbox GUID


Cuando tratamos de migrar una cuenta de o365 a exchange en un entorno híbrido, esto es, donde tenemos Office365 y también un Exchange On-premise trabajando conjuntamente en el mismo entorno AD, obtenemos este error:

Error: MigrationPermanentException: Cannot find a recipient that has mailbox GUID ‎'xxxxxxxx-xxx-xxx-xxxx-xxxxxxxxxxxx‎'. --] Cannot find a recipient that has mailbox GUID ‎'xxxxxxxx-xxx-xxx-xxxx-xxxxxxxxxxxx‎'.
 
Básicamente, esto sucede cuando el valor del GUID del buzón no está sincronizado en el buzón asociado en la organización local. El valor del buzón se almacena en la propiedad ExchangeGUID (también conocida como el atributo msExchMailboxGUID ) del usuario propietario del buzon. Para verlo, tenemos que ir al editor de atributos de la ficha de usuario.


Por suerte, la solución es simple: sólo hay que establecer el correcto valor GUID en el buzón remoto local asociado previamente a la migración del buzón. 

Para ello, nos vamos al shell de exchange del servidor local y ejecutamos el siguiente valor:

Get-RemoteMailbox usuario@midominio.com | Format-List ExchangeGUID


Puede pasar también que el GUID sea todo ceros, lo que significa que el valor directamente no se estampa en el buzón remoto local:


A continuación, nos vamos a Powershell. El comando a introducir para ver el GUID de la cuenta es muy parecido:

Get-Mailbox usuario@midominio.es| Format-List ExchangeGUID


Los valores, como veis, son distintos. En local teníamos un GUID terminado en 7cc6 (suponiendo que no os dé todo ceros) mientras que en Exchange Online termina, en este caso, en 7bbd.

Entonces, lo que vamos a hacer es establecer el GUID del entorno online, que es el que queremos migrar en este caso a local, en el entorno local. Para ello, volvemos al shell de Exchange local, e introducimos el siguiente comando:

Set-RemoteMailbox usuario@midominio.es -ExchangeGUID 8204ee3b-d483-45bd-97e6-e10d1a7b7bbd

Donde, si os fijáis, estamos poniendo el GUID que nos ha dado powershell, correspondiente a la cuenta online


Ya para terminar, podemos volver a realizar un get-remotemailbox, para asegurarnos que el cambio se ha aplicado

Una vez realizado esto, se puede volver a ejecutar desde Exchange online el proceso de migracion sin mayores problemas.

NOTA: Ten en cuenta que Exchange Online suele tener unos límites de almacenamiento bastante elevados para cuentas tipo E1 en adelante, y es posible que en local las database de almacenamiento de cuentas puedan estar limitadas, de manera que hay que tener cuidado de migrar a una database sin limite, o con un limite de tamaño de buzón inferior al consumido en o365.

jueves, 12 de septiembre de 2019

Cómo solventar el error 400 "bad name request" en Outlook Web Access

Trabajando con Exchange 2010 -2013 puede ocurrir que cuando se accede al mail via owa y accedes a las opciones del correo (arriba a la derecha), al pulsar “ver todas las opciones” para, por ejemplo, activar el automatic reply, sale la pantalla de selección de zona horaria y lenguaje:


Tras pulsar ok, da un mensaje de error 400, bad request.

Esto es debido a que el usuario no tiene definido un valor de zona horaria en el buzón de Exchange server 2010

Desde el servidor de Exchange, abrimos la consola, y podemos ver el valor configurado para la cuenta de usuario con Get-MailboxRegionalConfiguration -Identity “username” , sin comillas


En este caso, no se marca el campo lenguaje, lo que está ocasionando los problemas. Aplicamos la time zone y el lenguaje con el siguiente comando:

Set-MailboxRegionalConfiguration -Identity “nombredelbuzon” -Language "es-ES" -TimeZone "Romance Standard Time"


Una vez cambiado, volver a introducir el comando inicial, Get-MailboxRegionalConfiguration -Identity “username”, para verificar que se muestran los datos sin errores.

Si todavía tenias el buzon de owa abierto, haz logoff, logon de nuevo, y deberá estar funcionando sin problemas las opciones avanzadas.

miércoles, 5 de junio de 2019

Forzar vaciado de carpeta "Deleted Items" en Office365

Un pequeño problema observado con el trabajo en cuentas de Office365 consiste en el límite que éstas tienen en las carpetas creadas por defecto, como por ejemplo, deleted items. En este caso, el problema es causado por una limpieza del buzón de correo enviando más de 30 Gb a la papelera, y tras eso, forzar el borrado.

Aunque la carpeta nos da el mensaje de que no hay items contenidos en ella, se podían ver miles de mails contenidos. Esto es debido a la política de retención por defecto en la cuenta, que realiza el borrado definitivo e irrecuperable en un periodo de tiempo de 14 días.


Para solventar este problemilla, lo que podemos hacer es forzar la eliminación de los elementos. Aun así, la solución puede llevar 24 horas en aplicarse correctamente. Veamos los pasos a dar:

Abrimos Powershell como administrador local

Ejecutamos esto:
Set-ExecutionPolicy RemoteSigned

Seguidamente,
$UserCredential = Get-Credential

Las credenciales que ponemos son las de usuario administrador en office365, el login de acceso, que será un mail

Si tenemos un proxy, ejecutamos esto:
$ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>

Donde Value será la configuración que necesites, en este caso,
$ProxyOptions = New-PSSessionOption -ProxyAccessType IEConfig

Las opciones posibles son IEConfig, WinHttpConfig o AutoDetect

A continuación, escribimos el siguiente comando:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri 
https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic –AllowRedirection

Si has utilizado proxy, agregas al final -SessionOption $ProxyOptions. O sea, quedaría asi:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic –AllowRedirection -SessionOption $ProxyOptions
Si da error del este tipo,


Ejecutar el siguiente comando: Import-PSSession $Session –DisableNameChecking

Cargará el cmdlet, y probamos si funciona, con un get-mailbox “tubuzondecorreo”, asi, entrecomillado

Si aparecen los datos del buzon, introducimos el siguiente comando:

Set-mailbox “tubuzondecorreo” -RetainDeletedItemsFor 0

Seguidamente,

Start-ManagedFolderAssistant “tubuzondecorreo”

El proceso de vaciado de los deleted items puede llevar horas. Una vez finalizado, recordar cambiarlo de nuevo a 14 días, con:

Set-Mailbox “tubuzondecorreo” –retainDeletedItemsFor 14

En caso de querer examinar el progreso, puedes utilizar el siguiente comando:

Get-MailboxFolderStatistics usuario@dominio.com  | FT name,foldersize,ItemsInFolderAndSubfolders

para comprobar si el tamaño de "purges" va disminuyendo. Ademas, obtienes el listado detallado de ocupacion de las distintas carpetas. Si lo quieres en un documento de texto, al final del comando, agregamos un pipe (|) con el siguiente contenido:
Out-File -FilePath C:\larutaquequieras\nombredeldoc.txt

Si diera un problema de conexión, utilizar previamente este comando:

Start-ManagedFolderAssistant usuario@dominio.com
Si no, repetir todo el proceso para reconectar.

¡Y esto es todo!