Your Exchange Server administrator has blocked the version of Outlook that you are using. Contact your administrator for assistance.

This morning I have noticed about an issue with Outlook 2003,

No user can connect to Exchange 2010 from Outlook 2003 version, but users affected by this incident are able to connect to their mailbox using OWA , mobile phones ,Outlook 2010 or 2013 version.

All Mailboxes have been migrated from Exchange 2003 to Exchange 2010 and legacy Servers have been decommissioned from the Organization a few days ago.

A user with Outlook 2003 get the following error when he try to connect to his own mailbox.

Your Exchange Server administrator has blocked the version of Outlook that you are using. Contact your administrator for assistance.

I ran the following cmdlets to check for any blocked parameters enabled on CAS Servers, but I didn´t found anything about.

  • Get-CasMailbox | Ft, name, MAPI*
  • Get-RpcClientAccess –server  “myExchangeserver” | fl blocked*,encryption*

After a while I found the solution,

Public Folder hierarchy and database have been removed yesterday because is not used anymore by the Organization.

Note: Remove Public Folders is not a recommended practice if you still have Outlook 2003 clients in your Organization. Outlook 2003 has some dependencies with Public Folders, especially for free busy and OAB.

Creating a new Public Folder Database on Exchange 2010 the problem was solved. I forced OAB to be published in the new Public Folder Database  and forced also to be assigned to each Mailbox Database.

Advertisements

Delivery report issues with attachments in Exchange 2010

I am involved in a email migration project from  Exchange 2003 to Exchange 2010.This morning I have been warned about an issue with a migrated mailbox in Exchange 2010 related to Delivery Receipt .
A user request a delivery receipt from a Mailbox Stored in Exchange 2010 server ,and  he receive it but without the original email (attached).
Users with mailbox stored in Exchange 2003 are still receiving  this attachment.
After Reviewing so many parameters in the Exchange server  I found the root cause of this behaviour.
I found a paramater in the transport global settings that control how Exchange handles delivery status notifications (DSNs) that are generated by earlier versions of Exchange or non-Exchange messaging systems.
Yo can get the value for this parameter running the following cmdlet:

Get-TransportConfig  | fl DSNConversionMode
The values for this parameter are the following:

  •     UseExchangeDSNs
  •     PreserveDSNBody
  •     DoNotConvert

You can change the value for this parameter running the following cmdlet:

Set-TransportConfig  -DSNConversionMode (value)
By default, this parameter is set to UseExchangeDSNs and Exchange converts the DSNs to the Exchange 2010 DSN format. Any customized text or attachments that were associated with the original DSN are overwritten.
If you set this parameter to PreserveDSNBody, Exchange converts the DSNs to Exchange 2010 DSN format but any customized text or attachments of the DSN message is retained.
If you set this parameter to DoNotConvert, Exchange does not modify the DSN message. Instead, Exchange 2010 delivers the message as a standard message.
for more info: http://technet.microsoft.com/en-us/library/bb124151.aspx


There are multiple disk with identifier xxx

Esta mañana mientras intentaba configurar un nodo nuevo virtual para añadir a un DAG de Exchange 2010, actualmente de 2 nodos, ejecutándose sobre Windows 2008 R2 he tenido algunos problemas con los discos, en concreto la unidad E donde se ubican los binarios de Exchange se ha quedado offline en ambos nodos y el clúster  ha quedado en un estado inestable.

He lanzado el asistente de validación del clúster desde la consola de gestión de los servicios de clúster y me ha generado un informe que al validar la parte de Storage muestra el siguiente error:

“There are multiple disk with identifier ae00bf14”

Windows guarda una secuencia de números único en cada disco que utiliza llamado firma de disco o identificador de disco y utiliza esta firma para distinguir un disco de otro .
Cuando conectamos un disco que tiene la misma firma que uno ya existente a un sistema , Windows lo detecta y no le asigna una letra de unidad.
El resultado final es que no vamos a ser capaces de acceder al disco porque lo deja Offline.

Mi problema reside en que el nuevo nodo que quiero añadir es virtual, y los dos nodos ya existentes también son virtuales y además desplegados desde la misma Template de Vmware.

Comentar que la Template de OS de Windows 2008R2 contiene 3 discos vmdk.

  • Disco para Sistema
  • Disco para binarios de Aplicaciones
  • Disco para ubicar fichero de Paginación.

Lo que significa que al partir de la misma Template, el identificador de los 3 discos que incluye la Template es el mismo para los 3 servidores y para los 3 discos, si la máquina no forma parte de un cluster no debe tener consecuencias, pero si la máquina forma parte de un cluster el problema puede complicarse como me ha ocurrido a mí.

04

Como solucionar este problema?, Cambiando el identificar de disco para cada disco en cada uno de los nodos del clúster, para ello podemos utilizar la herramienta de línea de comandos DISKPART que nos permite cambiar el Identificador del Disco “en caliente” y sin perder la información que contenga el disco.

El comando a ejecutar es el siguiente:

  • >diskpart
  • >list disk
  • >select disk x (donde x es el disco que vamos a modificar)
  • >detail disk
  • >uniqueid disk

Para cambiar el ID:

  • >Uniqueid disk ID=xxxxxxxxx  (donde xxxx es un numero aleatorio)  ( mas info con el comando “help unique disk id”)

Una vez cambiado el identificador de disco, el problema quedaría resuelto sin más.

Importante: El cambio de identificador de disco puede que nos modifique la asignación de la letra de la unidad, deberemos comprobarlo antes de reiniciar la máquina.

En mi caso, además la Template tiene configurado un Sistema de Arranque Dual y el disco de arranque contiene dos particiones.

Que ocurre al modificar el identificador de disco en un disco con dos particiones y un sistema de arranque dual? que el fichero de arranque de Windows Boot Manager pierde la información de arranque que esta asociada al identificador de disco.

Por lo tanto, he tenido que editar el fichero de arranque (el antiguo Boot.ini) que desde Windows 7 se llama BCDEDIT y añadir la referencia que nos falta después de cambiar el ID de disco.

He editado el fichero de arranque ejecutando desde la línea de comandos BCDEDIT /enum

Las líneas de comando a utilizar para modificar el fichero son las siguientes:

Bcdedit /set {identificador} device partition= valor

  • Identificador= el que corresponda en cada caso.
  • Valor= la unidad o el path que corresponda.

Mejor mirar esta configuración antes de realizar ningún cambio y memorizarla bien pues será la misma a aplicar una vez realizado el cambio de ID de disco.

En mi caso el path es el siguiente:

  • bcdedit /set {bootmgr} device partition=deviceHarddiskVolume1
  • bcdedit /set {current} device partition=C:
  • bcdedit /set {current} osdevice partition=C:

Antes de ejecutar el cambio.

02

Después del cambio;

03

Una vez modificado el servidor ya está listo para la prueba final, el reinicio.

Si algo nos hemos dejado lo notaremos enseguida, el servidor no arrancará después del reinicio y nos mostrará una pantalla como esta:

01

En este caso no esta todo perdido, puede editarse el fichero de arranque dual arrancando con un disco de recuperación o el mismo disco de instalación en modo de recuperación de linea de comandos

Suerte


Gestión de acceso OWA, ACTIVE SYNC, POP o IMAP mediante el uso de grupos

El uso de grupos para habilitar o deshabilitar características de buzón como OWA, ACTIVE SYNC, POP o IMAP puede ayudarnos en la gestión y administración del día a día con mayor eficacia.

Veamos un ejemplo:

1- El siguiente cmdlet desactiva las características de OWA, ACTIVE SYNC, POP e IMAP para todos los usuarios que NO pertenecen al grupo “OWA_Enabled”.

get-mailbox -filter {MemberOfGroup -notlike “CN=OWA_Enabled,OU=Seguretat,OU=Grupos,DC=midominio”} | set-casmailbox -OWAEnabled: $False -ActivesyncEnabled:$False -PopEnabled:$false -ImapEnabled:$false

2- El siguiente cmdlet activa las características de OWA, ACTIVE SYNC, POP e IMAP para los usuarios que pertenecen al grupo “OWA_Enabled”.

get-mailbox -filter {MemberOfGroup -like CN=OWA_Enabled,OU=Seguretat,OU=Grupos,DC=midominio”} | set-casmailbox -OWAEnabled: $True -ActivesyncEnabled:$True -PopEnabled:$True -ImapEnabled:$True

Ahora, puedes crearte una tarea programada para que de forma automática vaya actualizando las propiedades de las nuevos usuarios.

Suerte


Restricting RPC dynamic ports on Exchange 2010 to work with firewalls.

For default Exchange 2010 use RPC dynamic ports from 1026 to 49000 on Mailbox rol
and RPC dynamic ports from 6005 to 49000 on Client Access rol.

If you are deploying CAS rol and MAILBOX between subnets and across firewall you can restrict RPC dynamic ports.
You can use command netsh for this task.
To show present configuration:

Netsh int ipv4 show dynamicportrange tcp
Netsh int ipv4 show dynamicportrange udp

To change configuration:

Netsh int ipv4 set dynamicportrange protocol=tcp startport=49152 numberofports=255
Netsh int ipv4 set dynamicportrange protocol=udp startport=49152 numberofports=255

Restart to apply changes.

Note: The minimum range of ports on W2008R2 that can be set is 255. The minimum starting port that can be set is 1025. The maximum end port (based on the range being configured) cannot exceed 65535.


Firmas automáticas con Exchange

Exchange 2010 te permite utilizar variables informadas en Directorio Activo útiles para automatizar comunicados o firmas personalizadas de forma dinámica.
Las variables se representan entre simbolos %%, por ejemplo %%email%%.
Los campos que admite como variables son los siguientes:
“UserLogonName,DisplayName,FirstName,Initials,LastName,PhoneNumber,OtherPhoneNumber,HomePhoneNumber,OtherHomePhoneNumber,PagerNumber,MobileNumber,FaxNumber,OtherFaxNumber,Email,Street,POBox,City,State,ZipCode,Country,Title,Department,Manager,Office,Company,Notes,CustomAttributes”.
La configuración es muy simple, basta con crear una regla de transporte con la siguiente condición,”from users that are inside the organization”, y como acción añadir un texto “append disclaimer text and fallback to action if unable to apply”.
El texto a añadir debe ser en formato html y debe incluir las variables como en el siguiente ejemplo:
#html#
#body#
#table border=”0″ width=”100%”#
#tr#
td valign=”top”##font face=”Garamond”#
#b#%%Firstname%% %%Lastname%%#/b##/font##br#
#font size=”2″ face=”Calibri”#%%department%%#br#
Telephone: %%Phone%% #br#
%%Company%% #br#
%%Street%% #br#
%%City%%, %%State%%, %%ZipCode%%
%%Email%%
#/font##/td#
#/tr#
#/table#
#/body#
#/html#

Nota: modifica en el codigo los caracteres # por >< segun toque.

Con un poco de imaginación puedes incluir también un link con la foto del usuario, pero obviamente este link debe ser publicado en internet para que el destinatario pueda ver la foto.


Ejecutar un cmdlet-powershell en Exchange 2010 desde cmd

Exchange 2010 soporta la versión de powershell 2.0
En esta versión de Powershell cambian algunos comandos, para empezar cambia la forma de ejecutar la extensión de la consola de exchange-powershell respecto a versiones anteriores.
Para llamar a un cmdlet de exchange 2010 desde la linea de comandos ejecutaremos la siguiente instrucción:
powershell.exe -command “.’C:Program FilesMicrosoftExchange ServerV14binRemoteExchange.ps1′;  Connect-ExchangeServer -auto; C:scriptsmiscript.ps1”
donde “miscript.ps1” es el cmdlet que quiero ejecutar en la ruta “c:mis scripts”
saludos