martes, 24 de mayo de 2011

Configurar Exchange 2010 para poder extraer a PST desde una base de Recovery (RDB)

NOTA: esta operación debe realizarse desde un CAS, no se permite desde un Mailbox Server.


1- El primero paso es darnos permisos a nuestras cuentas, esto en Exchange 2010 lo llamamos, asignarnos un nuevo Role (ManagementRoleAssignment),
El Role es: ¨Mailbox Import Export¨



2- Luego hay que especificar desde que base queremos hacer la extraccion del pst (si no se especifica nada, leerá el buzón donde figure en producción, lo cual no queremos)

Para ello debemos correr un: Get-Mailbox -Database DB1

Donde DB1 es nuestra base de recovery.

3- Ahora si podemos correr el comando final para extraer el PST, el mismo posee diversas variantes, pero voy a especificar el mas comun, donde extraemos TODO y luego el usuario verá que necesita o que no.



Nota: no permite realizar la extracción en una ruta normal, sino que debe ser una ruta de red. (Filepath)


4- Para verificar el estado del proceso de extracción a PST se deberá correr el cmlet:



Espero les haya sido útil.

Saludos.
Pablo

viernes, 6 de mayo de 2011

Como prevenir llegar al último número disponible para los transaction logs.

An Internal processing Error has occurred. ID no: C1041724

El Exchange System Manager puede presentarte este error cuando intentas montar una o más bases de datos de Exchange. No es que sea algo nuevo, pero tuve dos casos como este en una semana affectando 2500 usuarios en un caso y 3000 en otro, asi que dedicí escribir este artículo para ayudar a prevenir la situación. El artículo KB830408 describe el problema y como solucionarlo.

¿Como es la numeración de los logs de transacciones?

A partir de Exchange 2000 se incluye el concepto de Storage Groups (SG). SG es una agrupación de bases de datos que comparten, entre otras cosas, los logs de transacciones. En otras palabras, hay un solo flujo de logs de transacciones para todas las bases que forman parte de un SG. Los logs de transacciones en Exchange 2000 y 2003 se numeran de la siguiente forma:
[E nn 00001.log] a  [E nn ffff0.log].
nn representa el número de SG comenzando en 00 para el primer SG y las siguientes cinco cifras son un número hexadecimal secuencial de 1 a ffff0. [E nn.log] es el log que está siendo escrito actualmente, el cual se renombra siguiendo el número de secuencia cuando está completo, aunque internamente ya posee su número definitivo.
Este rango de log permite que las bases de datos acepten aproximadamente 5 TBytes de datos y transacciones (considerando el tamaño de 5Mb de los logs), antes de que Exchange se quede sin números de secuencia disponibles para procesar nuevas transacciones.
En Exchange 2007, esta situación cambia un poco. Los tamaños de los logs de transacciones disminuye a 1Mb, y la numeración cambia agregando 3 dígitos más hexadecimales (ej. E nn 00000001.log - E nn 7FFFFFFF.log o aprox. 2050 TBytes usando la misma idea anterior)

¿Como afecta este problema  a las distintas versiones de Exchange?

De peor a mejor:
Exchange 2000 previo al update rollup post SP3 de August 2004, y Exchange 2003 RTM:
No deberías estar corriendo estas versiones en producción. Por favor actualiza tu servidor inmediatamente y refierete al artículo KB830408 si todavía estas interesado en saber que pasaba.
Exchange 2000 post SP3 rollup de Agosto 2004 y Exchange 2003 SP1 en adelante:
El error C1041724 no es exclusivo de este problema, por lo que deberás confirmar lo siguiente:
Las bases de datos del SG en cuestión se desmontarán automáticamente como mecanismo de protección, y verás los siguientes errores en el log de aplicaciones:
Event ID: 1159
Event Type: Error
Event Source: MSExchangeIS
Event Category: General
Description: Database error 0xfffffdf9 occurred in function JTAB_BASE::EcEscrowUpdate while accessing the database "First Storage Group\Mailbox Store (SERVER)".
Event ID: 9518
Event Type: Error
Event Source: MSExchangeIS
Event Category: General
Description: Error 0xfffffddc starting Storage Group Path_of_Storage_Group on the Microsoft Exchange Information Store. Storage Group - Initialization of Jet failed.
El error 0xfffffddc significa JET_errLogSequenceEndDatabasesConsistent

¿Como puedo evitar este problema?

1) A partir del número de secuencia EnnE0000.log, el Exchange Storage Engine (ESE) registrará un evento de advertencia 514. Este evento es registrado con la antelación suficiente para programar ventana de mantenimento y reíniciar la secuencia.
Event Type: Warning
Event Source: ESE
Event Category: Logging/Recovery
Event ID: 514
Description: Information Store <>: Log sequence numbers for this instance have
almost been completely consumed. To begin renumbering from generation 1, the
instance must be shutdown cleanly and all log files must be deleted. Backups will
be invalidated.
Monitorea estos eventos regularmente y configura una notificación proactiva a partir del mismo.
2) Al igual que con un automovil, no tienes que esperar a que el tanque esté en reserva para cargar combustible. Cuando veas el número de secuencia lo suficientemente alto, puedes en cualquier momento ejecutar el procedimiento de reinicio de la secuencia,  aunque estes lejos del EnnE0000.log.

Procedimiento de reinicio de la secuencia de los logs de transacciones:

1) Toma nota del prefijo (Enn) y los dos directorios que aparecen en las propiedades del SG. Estos directorios son el de Logs y el de System respectivamente.
2) Desmonta todas las bases de datos del Storage Group.
3) Por precaución, mueve todos los logs de transacciones con el prefijo Enn a un directorio de respaldo.
4) Mueve también al directorio de respaldo el Enn.chk que está en el directorio System de Exchange
5) Finalmente monta todas las bases de datos nuevamente.
Luego de este procedimiento los números de transaction logs comenzarán nuevamente a partir de Enn00001.log
IMPORTANTE: Este procedimiento invalida los backup online que tengas, por lo que debes hacer un backup online inmediatamente despues de montar las bases de datos.

¿Como puedo solucionar este problema si me ha ocurrido?

Si las bases se han desmontado como consecuencia de este problema, te recomiendo verificar la consistencia de las bases de datos corriendo el siguiente comando:
eseutil /mh <nombre del archivo.edb>
La salida de este comando despliega el contenido del header de la base de datos. En particular nos importan estos campos, que indican que la base de datos ha sido correctamente desmontada:
State: Clean Shutdown
Log Required: 0-0 (0x0-0x0)
Una vez que confirmas estos campos, basicamente debes seguir el procedimiento descrito arriba para reiniciar la secuencia.
Nota: Si este problema te ocurre con versiones previas a Exchange 2000 post SP3 rollup de Agosto 2004 o Exchange 2003 SP1 hay otros pasos adicionales que deberás seguir. Los mismos están documentados en el siguiente artículo:
830408 Store databases are dismounted without warning or users cannot log on to
their mailboxes in Exchange Server 2003 or in Exchange 2000 Server
http://support.microsoft.com/default.aspx?scid=kb;EN-US;830408
Saludos,

Pablo Gustavo Ale

Connection broken between ISA FW and ISA Storage conf.

The only case that I see this issue is when the cert on ADAM instance was expire, but I have the same issue with a intermediate Verising cert for an application.
Verising has two new cert for SLL apps, so take care with those because there is one that has problem with ISA server:
1.
2.
Those certs has a different serial number version, on one of those there is something wrong because when we paste it on the server, isa server stop to work:
VeriSign Class 3 Public Primary Certification Authority - G5 (serial number)
1b 09 3b 78 60 96 da 37 bb a4 51 94 46 c8 96 78 --- wrong cert
25 0c e8 e0 30 61 2e 9f 2b 89 f7 05 4d 7c f8 fd --- correct cert
Solution:
Just replace the cert for the correct one and the problem will be solved.
3.
4.
On this document there is information about How to Securely Publish a Configuration Storage Server in ISA Server 2006 and also how to change an expiate certificate:
How to Back Up and Restore an ISA Server Enterprise Configuration (Enterprise Edition)
In ISA Server 2006 EE the configuration is stored in ADAM (Active Directory Application Mode)
Connect to you ADAM ADSI Edit
Server Name: localhost and port: 2171
Connect to the following node:
Distinguished name (DN) or namingContext: CN=FPC2
Navigate to CN=Array-Root
CN=Arrays
CN={ID of your Array}
CN=ArrayPolicy
CN=PolicyRules
CN={ID of the bad rule}
5.

jueves, 5 de mayo de 2011

Store Driver Fault Isolation Improvements in Exchange 2010 SP1

Background

The Exchange Store Driver is a core transport component which lives both on the Mailbox server role (as the mail submission service) and the Hub server role. It is responsible for:
  • Retrieving messages from the mailbox server that have been submitted by end-users and submitting those to the Hub transport role for categorization and routing.
  • Delivering messages to the appropriate mailbox server based on the location of the recipients mailbox.
  • Extensibility platform for both mail submission & delivery. Store Driver currently hosts a number of agents that extend the functionality of Exchange. Examples include such agents as Inbox Rules, Conversations, meeting forward notifications, etc.
Exchange 2010 is currently being utilized in http://www.microsoft.com/liveatedu/free-email-accounts.aspx, as well as the upcoming Office 365. As you can probably imagine, the Exchange servers that run in those datacenters are loaded and pushed harder than almost any other Exchange server imaginable. Prior to SP1, there were several problems that were encountered with mail delivery to the Exchange mailbox store. In particular, there was a need to make sure that a handful of recipients did not starve the rest of the mail delivery system.
While many of you may not have noticed this problem, Microsoft has seen many of these types of cases over the years; often isolated to a single event like an inadvertent public folder replication storm.
This was despite the message throttling that was already available. Transport roles have also had functionality to avoid resource starvation known as Back Pressure, but this was not designed to protect the system from messages that were already in the Local Delivery queue.

Changes in SP1

In order to further protect both the Mailbox servers and Hub servers from resource starvation, new thread limits were introduced in SP1:
KeyDescriptionScenarioError in Connectivity Log:
<add key=”RecipientThreadLimit” value=”1”/>Limit beyond which no more threads can be allocated to the recipient for delivery.
Note: If this is increased, you should increase MaxMailboxDeliveryPerMdbConnections as well, so that slow or hung deliveries to a single recipient will not block delivery for the entire MDB.
Flood of messages to a single Mailbox or a performance problem associated with a single mailbox, has minimal impact on delivery to the rest of the Mailboxes in the database.Throttled delivery for recipient <recipient> due to concurrency limit <limit>
<add key=”MaxMailboxDeliveryPerMdbConnections” value=”2”/>The maximum number of concurrent connections to a single “healthy” Mailbox Database. Database health is determined by the Health Monitor API and recorded in the connectivity logs as a value between -1, 0-100. 100 being healthy. Connections hang to a single problematic database have minimal impact on delivery of other queued messagesThrottled Delivery due to server limit for <server FQDN> with threshold
Note: These keys are not present in the EdgeTransport.exe.config file by default.

Is it possible to have too much protection?

Unfortunately, there are two scenarios after applying SP1 where we are seeing customers with messages backing up in the queue. The temporary error message is:
432 4.3.2 STOREDRV.Deliver; recipient thread limit exceeded
As you can probably guess, the two scenarios are:
  • Journaling
  • Public Folders
In both cases, the deliveries are occurring to a single recipient (or very small number of recipients). This is likely to occur during heavy mail flow. The screen shot below was taken from a lab server while reproducing the issue:
Screenshot: Messages backed up in mailbox delivery queue due to recipient thread limits
Figure 1: Messages backed up in mailbox delivery queue due to recipient thread limits being exceeded (click here for larger screenshot)
You can see a historical history of 4.3.2 events in connectivity logs on your Hub Transport servers (in the \Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\Connectivity\CONNECTLOGxxxxxxxx-x.LOG), like:
#Software: Microsoft Exchange Server
#Version: 14.0.0.0
#Log-type: Transport Connectivity Log
#Date: 2011-01-12T00:00:00.775Z
#Fields: date-time,session,source,Destination,direction,description

2011-01-12T00:00:00.775Z,08CD7F1200CBDBD0,MapiSubmission,5f24e416-c380-41b5-bfe0-37b6f1091f49,>,"Failed; HResult: 1140850693; DiagnosticInfo: Stage:LoadItem, SmtpResponse:432-4.3.2 STOREDRV; mailbox server is too busy"

2011-01-12T00:00:00.775Z,08CD7F1200CBDBD0,MapiSubmission,5f24e416-c380-41b5-bfe0-37b6f1091f49,-,RegularSubmissions: 0 ShadowSubmissions: 0 Bytes: 0 Recipients: 0 Failures: 1 ReachedLimit: False Idle: False

2011-01-12T00:00:05.792Z,08CD7F1200CBDBD1,MapiSubmission,5f24e416-c380-41b5-bfe0-37b6f1091f49,+,Win2k8R2Ex14.dom2k8r2ex14.lab
In some cases, simply leaving the servers alone should cause the queues to slowly drain. In other cases, it may be necessary to take further action because the problem has persisted for a while or because it isn’t part of a one-time event like a Public Folder replication storm.

Alright, I understand. Now how do I fix my situation?

Like every other throttling & performance related feature that has ever been in Exchange, the solution isn’t exactly straight forward. For starters, we’ve seen some level of success simply incrementing both values up one, as follows:
<add key="RecipientThreadLimit" value="2" />
<add key="MaxMailboxDeliveryPerMdbConnections" value="3" />
In fact, there has been enough success with this that we’re considering changing the defaults in a future rollup or service pack. Of course, when we do, the new defaults will only apply to those who haven’t already modified the values. Although it has not yet been released, KB 2491972 will discuss the change when the time comes.
So if +1 is better, then why not +2 or more?
Well, the problem is that all Exchange servers will ultimately be bound by some hardware resource. You don’t want to introduce thrashing or resource starvation due to a public folder or journaling server event that now impacts all users as well. In addition, there are other limits that control the maximum number of threads that can service these types of deliveries. In short, we are not recommending going above 4 for MaxMailboxDeliveryPerMdbConnections, and RecipientThreadLimit should always be at least one fewer.
In an extreme case, if you are in a very busy environment with dedicated journaling mailbox servers, it may be worth considering having dedicated hub transport servers to go along with that. Of course, they can be virtualized or multi-role boxes, but in order to be isolated, the whole bunch will need to be in a dedicated site. Then, you would be able to increase these limits without risking delivery to other mailboxes.
Of course, this is an extreme example. For the rest of us, it may be as simple as trying the +1 approach while carefully monitoring the hub & mailbox servers.

miércoles, 4 de mayo de 2011

Upgrade from Exchange 2010 RTM to Exchange 2010 SP1

Applies to: Exchange Server 2010 SP1
Topic Last Modified: 2011-05-4

You can use the Microsoft Exchange Server 2010 Service Pack 1 (SP1) Setup wizard to perform an upgrade from the release to manufacturing (RTM) version of Exchange 2010 to Exchange 2010 SP1. If you have one or more Exchange 2010 server roles or the Exchange management tools installed, you can upgrade to Exchange 2010 SP1.

You should upgrade your Exchange 2010 server roles in the following order:
  1. Client Access
  2. Hub Transport
  3. Unified Messaging
  4. Mailbox
If your organization uses a load balanced array of Client Access servers, you must upgrade all Client Access servers in that array to Exchange 2010 SP1 at the same time. Exchange 2010 RTM and Exchange 2010 SP1 can't coexist within the same load balanced array.
The Edge Transport server role can be upgraded at any time. However, we recommend upgrading the Edge Transport server role either before or after all other server roles are upgraded.
Bb629560.Caution(en-us,EXCHG.141).gifCaution:
After you upgrade to Exchange 2010 SP1, you can't uninstall the service pack to revert to Exchange 2010 RTM. If you uninstall Exchange 2010 SP1, you remove Exchange from the server.
To perform the following procedures, the account you use must be a member of the Delegated Setup management role group or the Organization Management management role group.
To upgrade an Exchange 2010 RTM server that has the Edge Transport server role installed to Exchange 2010 SP1, the account you use must be a member of the local Administrators group on that computer.
To upgrade a computer that has only the Exchange management tools installed, you must log on using an account that's a member of the local Administrators group on that computer.
If you haven't yet prepared the schema for Exchange 2010 SP1, the account you use to upgrade the server must be a member of the Schema Admins group and the Enterprise Admins group. For more information, see Prepare Active Directory and Domains.
When upgrading a database availability group (DAG) member to Exchange 2010 SP1, you need to consider and plan for some specific issues. Before upgrading any DAG members to Exchange 2010 SP1, consider the following:
  • Upgrade only passive servers   Before applying Exchange 2010 SP1 to a DAG member, move all active mailbox database copies off the server to be upgraded and configure the server to be blocked from activation. If the server to be upgraded currently holds the primary Active Manager role, move the role to another DAG member prior to performing the upgrade. You can determine which DAG member holds the primary Active Manager role by running Get-DatabaseAvailabilityGroup <DAGName> -Status | Format-List PrimaryActiveManager.
  • Place server in maintenance mode   Before applying Exchange 2010 SP1 to any DAG member, you may want to adjust monitoring applications that are in use so that the server doesn't generate alerts or alarms during the upgrade. For example, if you're using Microsoft System Center Operations Manager 2007 to monitor your DAG members, you should put the DAG member to be upgraded in maintenance mode prior to performing the upgrade.
  • Stop any processes that might interfere with the upgrade   Stop any scheduled tasks or other processes running on the DAG member or within that DAG that could adversely affect the DAG member being upgraded or the upgrade process.
  • Verify the DAG is healthy   Before applying Exchange 2010 SP1 to any DAG member, we recommend that you verify the health of the DAG and its mailbox database copies. A healthy DAG will pass MAPI connectivity tests to all active databases in the DAG, will have mailbox database copies with a copy queue length and replay queue length that's very low, if not 0, as well as a copy status and content index state of Healthy.
  • Be aware of other implications of the upgrade   A DAG member running the RTM version of Exchange 2010 can move its active databases to a DAG member running Exchange 2010 SP1, but not the reverse. After a DAG member has been upgraded to Exchange 2010 SP1, its active database copies can't be moved to another DAG member running the RTM version.
Run the following scripts and commands on the DAG member being upgraded to prepare for upgrading to Exchange 2010 SP1.
  1. Verify the health and status of the DAG by saving the following commands as a Windows PowerShell script (.ps1) file.
    (Get-DatabaseAvailabilityGroup -Identity (Get-MailboxServer -Identity $env:computername).DatabaseAvailabilityGroup).Servers | Test-MapiConnectivity | Sort Database | Format-Table -AutoSize
    Get-MailboxDatabase | Sort Name | Get-MailboxDatabaseCopyStatus | Format-Table -AutoSize
    function CopyCount 
    {
    $DatabaseList = Get-MailboxDatabase | Sort Name
    $DatabaseList | % {
    $Results = $_ | Get-MailboxDatabaseCopyStatus
    $Good = $Results | where { ($_.Status -eq "Mounted") -or ($_.Status -eq "Healthy") }
    $_ | add-member NoteProperty "CopiesTotal" $Results.Count
    $_ | add-member NoteProperty "CopiesFailed" ($Results.Count-$Good.Count)
    }
    $DatabaseList | sort copiesfailed -Descending | ft name,copiesTotal,copiesFailed -AutoSize 
    }
    CopyCount
  2. Perform a server switchover by running the following command.
    Move-ActiveMailboxDatabase -Server <DAGMemberName>
  3. Prevent the DAG member from becoming a failover target by running the following command.
    Set-MailboxServer -DatabaseCopyAutoActivationPolicy:Blocked
  4. If necessary, move the primary Active Manager role to another DAG member by running the following command.
    Cluster group "cluster group" /move
  5. Upgrade to Exchange 2010 SP1. For details, see "Upgrade from Exchange 2010 RTM to Exchange 2010 SP1" later in this topic.
  6. Enable the upgraded DAG member to become a failover target by running the following command.
    Set-MailboxServer -DatabaseCopyAutoActivationPolicy:Value
    Where Value is either IntrasiteOnly or Unrestricted.
  7. Repeat steps 1–6 on each DAG member until all DAG members have been upgraded to SP1.
For more information, see the following topics:
When upgrading from Exchange 2010 RTM to Exchange 2010 SP1 on multiple Exchange 2010 servers within an organization, we recommend that you first upgrade your Client Access servers. In an organization that has multiple Active Directory sites that use multiple Client Access servers in a proxy situation, you must upgrade the Internet-facing Client Access servers before upgrading Client Access servers that aren't Internet-facing. Then, we recommend you install the Hub Transport, Unified Messaging, and Mailbox server roles.
The Edge Transport server role can be upgraded at any time. However, we recommend upgrading the Edge Transport server role either before or after all other server roles are upgraded.
  1. Insert the Exchange 2010 SP1 DVD into the DVD drive. When the AutoPlay dialog box appears, click Run Setup.exe under Install or run program. If the AutoPlay dialog box doesn't appear, navigate to the root of the DVD and double-click Setup.exe. Alternatively, browse to the location of your Exchange 2010 installation files and double-click Setup.exe.
  2. On the Start page, click Install Microsoft Exchange Server Upgrade to begin the installation.
    Bb629560.important(en-us,EXCHG.141).gifImportant:
    Make sure that you've completed all the required steps described on the Start page before you begin your installation. If you haven't already installed the components discussed on the Start page, Setup provides links to the appropriate sites where you can download the components. For more information about Windows PowerShell installation, see Install Windows Management Framework.
    Bb629560.important(en-us,EXCHG.141).gifImportant:
    If you're installing Exchange 2010 on Windows Server 2008 R2, don't use the downloadable .NET Framework package. Instead, use Server Manager in Windows Server 2008 R2 or run ServerManagerCmd -i NET-Framework.
  3. The Introduction page begins the process of installing Exchange into your organization. It will guide you through the installation. Click Next to continue.
  4. On the License Agreement page, review the software license terms. If you agree to the terms, select I accept the terms in the license agreement, and then click Next.
  5. On the Readiness Checks page, view the status to determine if the organization and server role prerequisite checks completed successfully. If they haven't completed successfully, you must resolve any reported errors before you can install Exchange 2010. You don't need to exit Setup when resolving some of the prerequisite errors. After resolving a reported error, click Retry to run the prerequisite check. Be sure to also review any warnings reported. If all readiness checks have completed successfully, click Upgrade to install Exchange 2010 SP1.
  6. On the Completion page, click Finish.
  1. Insert the Exchange 2010 SP1 DVD into the DVD drive, and then at the command prompt, navigate to the DVD drive or navigate to the network location of the Exchange 2010 installation files.
  2. At the command prompt, run the following command.
    Setup.com /M:Upgrade /InstallWindowsComponents

Correos en Bandeja de Salida (Outlook)

La causa de que el correo enviado se mantenga en la Bandeja de salida puede ser una de las siguientes:
  • Abrió el mensaje en la Bandeja de salida antes de enviarlo.
  • Trabaja sin conexión y no ha efectuado una conexión remota.
  • Su archivo de Carpetas personales (*.pst) está dañado.
  • Su archivo de Libreta personal de direcciones (*.pab) está dañado.
  • Utiliza un complemento anticuado o incompatible.
  • Respondió a un mensaje de correo electrónico que recibió desde una cuenta antigua.

El mensaje se ha abierto en la Bandeja de salida

Después de enviar un mensaje, Outlook lo mueve a la Bandeja de salida. Cuando Outlook establece una conexión con el servidor de correo, intenta entregarlo y aparece una copia del mensaje enviado en la Bandeja de salida. Si abre y cierra el mensaje mientras está en la Bandeja de salida, cambia su estado y, por eso, no se envía. El título del mensaje no aparecerá ya en cursiva en la vista Mensajes de la Bandeja de salida.

Para devolver el mensaje al estado Enviar, ábralo y haga clic en Enviar en la barra de herramientas de mensajes. El título del mensaje debe cambiar a cursiva en la vista Mensajes de la Bandeja de salida. Outlook debería entregar el mensaje durante la próxima conexión con el servidor de correo.

Trabajar sin conexión

Si utiliza la instalación Sólo correo de Internet (IMO, Internet Mail Only):
  1. En el menú <B>Archivo</B>, haga clic para desactivar <B>Trabajar sin conexión</B>.
  2. En el menú Herramientas, haga clic en Enviar Y recibir y haga clic en el nombre de la cuenta de servicio.
Si utiliza la instalación Organización o grupo de trabajo (CW, Corporate Workgroup) con el servicio Microsoft Exchange Server:
  1. En el menú <B>Herramientas</B>, haga clic en <B>Servicios</B> para abrir el cuadro de diálogo <B>Servicios</B>.
  2. En la ficha <B>Servicios</B>, haga clic para activar <B>Microsoft Exchange Server</B> y haga clic en <B>Propiedades</B>.
  3. En la ficha Avanzadas, haga clic para desactivar la casilla de verificación "Habilitar uso sin conexión".
  4. Haga clic en <B>Aceptar</B> dos veces y en <B>Cerrar</B> para cerrar todos los cuadros de diálogo.
  5. Salga y reinicie Outlook.
Nota: Cuando se trabaja sin conexión con el servicio Microsoft Exchange Server, el servicio Microsoft Fax está en un estado de desconexión. Los mensajes de fax permanecen en la Bandeja de salida cuando parece que el único servicio establecido en sin conexión es el servicio de Microsoft Exchange Server.

Archivos de Carpetas personales o de Libreta de direcciones dañados

El primer paso para la solución del problema consiste en ejecutar la herramienta Reparar Bandeja de entrada. Para ello, siga estos pasos:
  1. Si la lista de carpetas no está visible, haga clic en <B>Lista de carpetas</B> en el menú <B>Ver</B> mientras muestra la <B>Bandeja de entrada</B>.
  2. Haga clic con el botón secundario el icono carpetas personales en la lista de carpetas, haga clic en "Propiedades de carpetas personales" y en la ficha General haga clic en Avanzadas. Anote la ruta de acceso y el nombre del archivo .pst. Haga clic dos veces en <b>Cancelar</b> para cerrar los cuadros de diálogo.
  3. Salga de Outlook.
  4. Haga clic en Inicio, seleccione Programas, Accesorios, seleccione sistema herramientas y haga clic en herramienta de reparación.

    Nota: Si la herramienta Reparar Bandeja de entrada no aparece en el menú Herramientas del sistema, haga clic en Inicio, seleccione Buscar, haga clic en archivos o carpetas y busque Scanpst.exe. Haga doble clic para ejecutar el programa encontrado.
  5. En la herramienta Reparar Bandeja de entrada, haga clic en <b>Explorar</b> y seleccione el archivo de Carpetas personales (.pst) que anotó en el paso 2.
  6. Haga clic en <b>Iniciar</b> para empezar a explorar el archivo.
  7. Una vez finalizada la herramienta Reparar Bandeja de entrada, reinicie Outlook.
  8. Copie el contenido del mensaje atascado en la Bandeja de salida y péguelo en un mensaje nuevo.
  9. Elimine el mensaje original y trate de enviar el mensaje nuevo.

Crear un nuevo archivo de Carpetas personales

El segundo paso para la solución del problema consiste en crear un nuevo archivo de Carpetas personales. Para ello, siga estos pasos:
  1. En el menú Archivo, seleccione Nuevo y haga clic en "Archivo de carpetas personales (.pst)."
  2. Abra la carpeta que contiene el archivo existente de carpetas personales, como se indicó en paso 2 en la sección anterior, escriba un nombre único en el cuadro Nombre de archivo y haga clic en crear. Para esta prueba, mantenga la configuración predeterminada en el cuadro de diálogo "Crear carpetas personales de Microsoft" y haga clic en Aceptar.
  3. En la lista carpeta, haga clic en el nuevo archivo de carpetas personales.
  4. En el menú Archivo, elija carpeta y, haga clic en "Propiedades de carpetas personales.'"
  5. Haga clic en "Entregar correo POP a este archivo de carpetas personales" y haga clic en Aceptar.
  6. Intente enviar el correo electrónico.
Nota: Si, después de instalar Outlook, recibe el mensaje siguiente
La cola MAPI ya ha empezado a transmitir este mensaje
Siga los pasos anteriores para crear un nuevo archivo de carpetas personales, copie el contenido de todas las carpetas en el nuevo archivo carpetas personales, excepto la Bandeja de salida, salir y reiniciar Outlook, a continuación, volver a crear y enviar los mensajes.

Crear un nuevo perfil

El tercer paso para la solución del problema consiste en crear un perfil nuevo con un archivo de Carpetas personales (.pst) y un archivo de Libreta personal de direcciones (.pab) nuevos.

Si utiliza la instalación Organización o grupo de trabajo (CW), siga estos pasos:
  1. Salga de Outlook si se está ejecutando.
  2. Haga clic en Inicio, seleccione Configuración y haga clic en Panel de control.
  3. Haga doble clic en el icono <B>Correo y fax</B> o en el icono <B>Correo</B>, haga clic en <B>Mostrar perfiles</B> y en <B>Agregar</B> para agregar un nuevo perfil.
  4. Siga las indicaciones del Asistente para instalación de la Bandeja de entrada para crear un nuevo perfil con un archivo .pst y un archivo .pab nuevos.
  5. Inicie Outlook y trate de enviar un mensaje.
Si utiliza la instalación de correo de Internet (IMO), siga estos pasos:
  1. Salga de Outlook si se está ejecutando.
  2. Haga clic en el botón Inicio, seleccione Configuración y haga clic en Panel de control.
  3. Haga doble clic en el icono correo.
  4. Seleccione y quite cada una de sus cuentas de correo y, después, vuelva a crearlas todas.

    Nota: Asegúrese de determinados que conoce toda la configuración necesaria antes de quitar cualquiera de estos elementos.
  5. Haga clic en Cerrar cuando termine y cierre el panel de control, inicie Outlook y, intente enviar el correo electrónico.
El cuarto paso para la solución del problema consiste en buscar en el sistema múltiples archivos de Carpetas personales (.pst) o de Almacén sin conexión (.ost). Cambie el nombre del archivo y crear un nuevo perfil.

El quinto paso para la solución de problemas consiste en comprobar el nombre de correo electrónico del destinatario en la Libreta personal de direcciones. Si no existe, agréguelo. Si existe, elimine la entrada y vuelva a agregarla.

El último paso para la solución de problemas consiste en probar con otro cliente. Salga de Outlook y busque Exchng32.exe en el disco duro. Ejecute Exchng32.exe mediante los servicios existentes para enviar correo.

Si es capaz de enviar correo con el cliente Exchange, quite Outlook y vuelva a instalarlo. Para ello, siga estos pasos.

Nota: Como existen varias versiones de Windows, los pasos siguientes pueden ser diferentes en el equipo. En tal caso, consulte la documentación del producto para realizar estos pasos.
  1. Salga de Exchange.
  2. Haga clic en Inicio, seleccione Configuración, haga clic en Panel de control y haga doble clic en el icono de agregar o quitar programas.
  3. Haga clic para seleccionar Microsoft Outlook 98, haga clic en Agregar o quitar y, a continuación, haga clic en quitar.
  4. Haga clic en el botón <B>Inicio</B>, seleccione <B>Buscar</B>, haga clic en <B>Archivos o carpetas</B> y escriba Outllib.dll en el cuadro <B>Nombre</B>. Si se encuentra el archivo, haga clic para seleccionarlo. En el menú <B>Archivo</B>, haga clic en <B>Cambiar nombre</B>, cambie el nombre del archivo por outllib.bad y, a continuación, presione ENTRAR. Cierre el cuadro de diálogo Buscar.
  5. Vuelva a instalar Outlook.

Complementos anticuados o incompatibles

Complementos anticuados o incompatibles pueden producirse problemas de entrega de correo.

Los complementos, como las extensiones de Netscape antiguas o el software Fax, pueden causar problemas de entrega del correo. Siga estos pasos para comprobar qué complementos están activos:
  1. En el menú <B>Herramientas</B>, haga clic en <B>Opciones</B> para abrir el cuadro de diálogo <B>Opciones</B>.
  2. En la ficha <B>Otras</B>, haga clic en <B>Opciones avanzadas</B> y, después, haga clic en <B>Administrador de complementos</B>. Los complementos activos tienen marcas de verificación junto a su nombre.
  3. Para desactivar un complemento, haga clic en para desactivar la casilla de verificación complemento y haga clic en Aceptar tres veces para cerrar todos los cuadros de diálogo.

Mensaje al que respondió desde una cuenta antigua

Cuando responde a un mensaje en Outlook, éste trata de enviar la respuesta mediante la misma cuenta a través de la que recibió originalmente el mensaje. Si la cuenta en la que recibió el mensaje ya no existe en su perfil de Outlook o en la configuración de la cuenta, el mensaje puede quedarse en la Bandeja de salida. Es probable que esta situación se produzca cuando hay correo antiguo entregado en una Bandeja de entrada del archivo de Carpetas personales (.pst) del disco duro local y usted ha cambiado las cuentas de correo después de recibir el mensaje.

La forma más fácil de resolver este problema es mover el mensaje está atascado en la Bandeja de salida a la Bandeja de entrada, crear y dirigir un mensaje nuevo, pegar la información del mensaje que está atascado en la Bandeja de salida el nuevo mensaje y, a continuación, enviar el mensaje nuevo. Outlook trata de enviar el mensaje nuevo desde la actual cuenta predeterminada de correo electrónico en lugar de enviarlo desde la antigua.

Tips and command line for Outlook 2003 (linea de comandos Outlook 2003)

Outlook 2003 is usually installed in C:\Program Files\Microsoft Office\OFFICE11 (substitute C with the appropriate drive letter on your system). Open a CMD window, navigate to that path, and run Outlook.exe with the appropriate switch.
To use switches, at the Start menu, Run command type:
Outlook /switch
Occasionally you'll need to use the full path to Outlook, so the command line looks like:
"C:\Program Files\Microsoft Office\Office11\Outlook.exe " /switch
Note: Paths that include spaces between words must be enclosed in quotation marks (") and are case sensitive.
For your reference here are just some of the most commonly used switches:
/c messageclass
Creates a new item of the specified message class, works for any valid MAPI form. For example:
/c ipm.activity creates a Journal entry /c ipm.appointment creates an appointment /c ipm.contact creates a contact /c ipm.note creates an e-mail message /c ipm.stickynote creates a note /c ipm.task creates a task
/CleanClientRules
Starts Outlook and deletes client-based rules. For non-Exchange users.
/CleanFinders
Sets Outlook 2003 Search Folders back to the default state (deletes custom Search Folders)
/CleanFreeBusy
Cleans and regenerates free/busy information.
/CleanProfile
Removes invalid profile keys and recreates default registry keys where applicable.
/Cleanpst
Launches Outlook with a clean Personal Folders file (.pst)
/CleanReminders

Cleans and regenerates reminders.
/CleanRules
Starts Outlook and deletes client- and server-based rules.
/CleanSchedPlus
Deletes all Schedule+ data (free/busy, permissions, and .cal file) from the server.
/CleanServerRules
Starts Outlook and deletes server-based rules. Used only with Exchange server accounts.
/CleanViews
Restores default views.
/FirstRun
Starts Outlook as if it were run for the first time.
/ImportPrf prffilename
Launches Outlook and opens/imports the defined MAPI profile (*.prf). If Outlook is already open, queues the profile to be imported on the next clean launch.
/Profile profilename
Loads the specified profile. If your profile name contains a space, enclose the profile name in quotation marks.
/ResetFolderNames
Resets the language of the default folders to the language of the Outlook client.
/ResetFolders
Restores missing folders for the default delivery location.
/ResetOutlookBar
Rebuilds the Outlook Bar.
/ResetWunderBar
Rebuilds the new Outlook Control Bar in Outlook 2003.
/Rpcdiag
Opens Outlook and displays the remote procedure call (RPC) connection status dialog.
/Sniff
Starts Outlook and forces a detection of new meeting requests in the Inbox, and then adds them to the calendar.

Restoring Exchange 2003 mailbox contents with Exmerge after moving the mailbox to Exchange 2007

Imagine the following scenario:
  1. You perform a full backup of mailbox store on Exchange 2003.
  2. You move a mailboxe from the backed-up store to an Exchange 2007 server.
  3. You try to leverage the Recovery Storage Group feature on the Exchange 2003 server to restore the contents of the mailbox in question using ExMerge to restore/export the contents of the mailbox from a date before the mailbox was moved.
  4. The ExMerge export phase fails with the following error in the exmerge.log:
    Error opening message store (MSEMS). Verify that the Microsoft Exchange Information Store service is running and that you have the correct permissions to log on. (0x8004011d)
Usually you would get this error if the account you run Exmerge with does not have full permissions on the mailbox you are trying to restore, but this case is a bit different. Even if you grant yourself Full Mailbox Access and get rid of the "Send As" and "Receive As" denies (see KB322312 for details), the process still fails with the error message above.
The issue stems from the fact that the mailbox in question has been moved to a different mailbox store from the one it was backed-up from. In order to better understand the problem, lets look at how Recovery Storage Group links a mailbox from RSG to an existing account in AD and what are some of the checks that are performed when you try to export the contents of a mailbox from a database mounted in the RSG:
  • msExchMailboxGUID attribute: this is the first test that is being performed. The GUID of the mailbox in the RSG (taken from the database itself in the RSG) must correspond to an existing account in the AD. If Exmerge can not find the GUID of the mailbox you are trying to restore in the AD, it will fail.
  • msExchOrigMDB attribute: When a database is added to RSG, its msExchOrigMDB attribute is populated with a distinguished name that points to the original database that was backed-up. When Exmerge runs, it checks whether the mailbox we are trying to restore/export exists in the the database the msExchOrigMDB points to. If the mailbox store does not exist or the mailbox has been moved to a different store, the test fails and the following message is logged in the exmerge.log file:

    "Error opening message store (MSEMS). Verify that the Microsoft Exchange Information Store service is running and that you have the correct permissions to log on. (0x8004011d)".

Workaround:

  1. Obtain the distinguished name of the store where the mailbox currently resides.

    There are numerous ways of locating the DN of the database. Here are 2 examples:

    Using command line (I find it quickest): query the homeMDB attribute of the user's account whose mailbox we are restoring using dsquery:
    C:\>dsquery * -filter "samaccountname=guyt" -attr homemdb 
    Query result:
    homemdb 
            
    CN=Mailbox Store (E2K7MBX01),CN=First Storage Group,CN=InformationStore, CN=E2K7MBX01, CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT), CN=Administrative Groups, CN=ExchOrgName,CN=Microsoft Exchange,CN=Services, CN=Configuration,DC=company,DC=corp

    Using adsiedit.msc: Navigate to the user account whose mailbox you are restoring and copy the value of the homeMDB attribute of the user account:

    a. Drill down in the Domain partition to locate the account in question:

    image

    b. Right-click the user account and select "Properties". Locate "homeMDB" attribute and click "Edit":

    image

    c. Copy the value of the homeMDB attribute which would look something like:
    CN=Mailbox Store (E2K7MBX01),CN=First Storage Group,CN=InformationStore, CN=E2K7MBX01,CN=Servers, CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups, CN=<Exch Org Name>, CN=Microsoft Exchange,CN=Services,CN=Configuration, DC=company,DC=corp
  2. Edit the msExchOrigMDB attribute of the object representing the restored database in the Recovery Storage Group

    a. Open adsiedit.msc and locate the object representing the database you have recovered to the RSG. It will be somewhere under:
    CN=Mailbox Store (E2K3SRV01),CN=Recovery Storage Group,CN=InformationStore,CN=E2K3SRV01,CN=Servers,CN=first administrative group,CN=Administrative Groups,CN=<Exch Org Name>,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=company,DC=corp
    image

    b. Right-click the mailbox store object and select "Properties". Locate the msExchOrigMDB attribute and click "Edit"

    image

    c. Replace the current value with the distinguished name you obtained in Step 1

    d. Click OK and wait a bit till the change replicates to other DCs in your environment.

    e. Restart the "Microsoft Exchange Information Store" service on the Exchange server hosting the Recovery Storage Group.
  3. Mount the database in the Recovery Storage Group
  4. Run Exmerge. This time you should be able to export the contents of the moved mailbox.

Warning:

After you follow the instructions above you, you will not be able to use Exmerge to access any mailboxes that you did not move to a different mailbox store. If you want to access the mailboxes that remain in the original mailbox store, you must change the msExchOrigMDB attribute back to its original value.
Related articles:

Exchange database Recovery 2003\2007 (Recuperacion de base de datos de Exchange 2003 2007)

SUMMARY
This article describes how to use the Microsoft Exchange Server 2003 Eseutil tool (Eseutil.exe)  
How to Recover a Corrupt Exchange Database
  1. Be sure there are no hardware issues and that the File System is intact (run chkdsk /r and repeat until it doesn’t return errors), restore from backup is preferable if possible.
  2. Add the Exchange bin to the “path” statement
    1. Start -> Right click my computer -> properties -> advanced Tab -> environment variables (scroll down if you have to)
    2. In the bottom pane double click “path”
    3. Go to the end of the line enter a semi-colon and enter the path to the exchange bin directory
  3. Verify that there is twice as much free space as the size of the database,
    i.e if the database is 10 gb you need to have at least 20 gb free
  4. Open command prompt
  5. Change to the directory where the database is (usually C:\program files\exchsrv\mdbdata, if you cant find the database search for *.edb)
  6. Type eseutil /mh <database name> (usually priv1.edb)
    1. Look for the shutdown state (may have to scroll up) , if its in clean shutdown then you should be able to mount the database, but chances are if your reading this its in a dirty shutdown and you need to continue on
  7. Type eseutil /k <database name> (usually priv1.edb) look for “Bad Checksums” if you have any, your repair possibility will be slim (just make a note of it)
  8. Type eseutil /ml e00 we are looking for any missing logs (if none missing go on to step 9)
    1. if there are any we have to move all subsequent logs. and the e00 log to another location, rename the last log to e00.log
    2. Example we have logs E00021-E00035 and E00033 is missing, remove E00, E00034 and E00035
  9. Re-name the .chk file to .oldchk
  10. Type eseutil /r E00
    1. Wait for that to complete, if it completes successfully move on to 11 otherwise run “P”
      1. P. eseutil /p <database name> this will force the database into a clean shutdown and will rip out any incomplete pages, this should only be done as a last resort
  11. Start information store service, verify that the store is mounted in Exchange System Manager (ESM), if its not mounted right click and mount
    1. Start -> All Programs -> Microsoft Exchange -> System Manager
    2. Expand Administrative Group -> Administrative group -> Servers -> {Server name} -> {Storage Group}
    3. Right Click Mailbox store -> mount
  12. Dismount the store in ESM
  13. Go back to the command window
    1. type isinteg –s <servername> -fix –test alltests
    2. When prompted select the store that you repaired
    3. If any fixes are reported re-run until none are reported (just like chkdsk)
  14. Type eseutil /d <database name> (usually priv1.edb)
  15. Remount the database and should now be able to send receive mail
Command Description Eseutil is a Jet database repair utility
Switch Action
/D Defragments the database
/R Soft recovery of the database
/G Integrity Check
/K Checksum
/P Hard Repair
/ML Log File dump
/MH Database file dump
/Y Copy
/C Restore
Isinteg is a integrity checker much like the windows chkdsk for NTFS
ESM Exchange System Manager is the GUI Management tool for exchange
Exchange 2007 changed the name to EMC Exchange Management Console
REFERENCES
For more information about Exchange 2003, visit the following Microsoft Web site:
http://technet.microsoft.com/en-us/library/bb123872.aspx
Use the Eseutil Utility to Detect File Header Damage in Exchange 2003
http://support.microsoft.com/kb/825088
How to defragment with the Eseutil utility (Eseutil.exe)
http://support.microsoft.com/kb/192185
Description of the Isinteg utility
http://support.microsoft.com/kb/182081