Este artículo describe cómo recrear directorios virtuales (incluidos OWA y ECP) en Exchange Server 2019/2016/2013. La reparación de estos directorios virtuales ayuda a restablecer todas las configuraciones, recrearlas desde cero y puede resolver muchos problemas de Exchange relacionados con el funcionamiento incorrecto de OWA o ECP: varios errores de página, problemas de pantalla en blanco, problemas de permisos, archivos faltantes, problemas de conectividad de Outlook , errores de tiempo de ejecución de ECP, error HTTP 500, etc.
Permítanos recordarle que los directorios virtuales son necesarios para acceder a Exchange desde aplicaciones basadas en web (como Outlook Web App (OWA), Exchange Active Sync, Autodiscover). Puede administrar los directorios virtuales de Exchange de 3 maneras: Centro de administración de Exchange (EAC), Microsoft Exchange Management PowerShell (EMS), consola mmc de IIS Manager (%SystemRoot%System32InetsrvInetmgr.exe). En Exchange 2016/2013 Mailbox y Client Access, las funciones se fusionan en una sola función (se eliminó la función CAS separada). Por lo tanto, en el servidor de buzones, los directorios virtuales se encuentran en 2 sitios diferentes:
- En un sitio web predeterminado sitio (escuchando los puertos TCP 80, 443);
- En una ExchangeBackEnd sitio (escuchando los puertos TCP 81, 444).
Recrear directorios virtuales OWA y ECP en Exchange
Los directorios virtuales OWA y ECP en la consola del Administrador de IIS se ven así:

Insinuación. Lista completa de directorios virtuales de IIS en Exchange Server:
-
EcpDirectorioVirtual (ecp);
-
OwaDirectorioVirtual (owa);
-
MapiDirectorioVirtual (mapi);
-
ActiveSyncVirtualDirectory (Microsoft-Server-ActiveSync);
-
Detección automática de directorio virtual (detección automática);
-
Directorio virtual OAB (OAB);
-
directorio virtual de PowerShell (PowerShell);
-
Directorio virtual de servicios web (EWS).
Debe obtener el nombre completo del directorio virtual en el que se observan los problemas. Para hacer esto, inicie la consola Shell de administración de Exchange.
Insinuación. Puede cargar el complemento PowerShell de administración de Microsoft Exchange en la sesión actual de PowerShell sin iniciar EMS:
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
Muestre una lista de todas las carpetas OWA en la organización de Exchange mediante el siguiente comando de PowerShell:
Get-OwaVirtualDirectory
En nuestro ejemplo, el nombre del directorio virtual de OWA: owa (sitio web predeterminado).
Lo mismo para el directorio virtual de ECP:
Get-ECPVirtualDirectory
Nos interesa el directorio ecp (sitio web predeterminado) en el servidor llamado EX2016.

Muestre y anote la configuración actual de los directorios virtuales OWA y ECP (ExternalURL, InternalURL, configuración de autenticación):
Get-OwaVirtualDirectory “ex2016owa (Default Web Site)”|select-object InternalUrl, ExternalUrl, BasicAuthentication,WindowsAuthentication,DigestAuthentication, FormsAuthentication
Get-EcpVirtualDirectory “ex2016ecp (Default Web Site)”|select-object InternalUrl, ExternalUrl, BasicAuthentication,WindowsAuthentication,DigestAuthentication, FormsAuthentication
Nota. Cambie ex2016 por el nombre de su servidor de Exchange.

Elimine el directorio virtual de OWA en el servidor llamado ex2016:
Remove-OwaVirtualDirectory “ex2016owa (Default Web Site)”
Cree un nuevo directorio OWA:
New-OwaVirtualDirectory -InternalUrl “https://mail.contoso.local/owa” -ExternalUrl “https://mail.contoso.local/owa”

Ahora elimine y vuelva a crear el directorio virtual de ECP de manera similar:
Remove-EcpVirtualDirectory -Identity “ex2016ecp (Default Web Site)” New-EcpVirtualDirectory -InternalUrl “https://mail.contoso.local/ecp” -ExternalUrl “https://mail.contoso.local/ecp”

En algunos casos, también es útil recrear OWA y ECP en el sitio de Exchange Back End:
remove-WebApplication -Site "Exchange Back End" -Name owa remove-WebApplication -Site "Exchange Back End" -Name ecp New-WebApplication -Site "Exchange Back End" -Name owa -PhysicalPath "C:Program FilesMicrosoftExchange ServerV15ClientAccessowa" -ApplicationPool MSExchangeOWAAppPool New-WebApplication -Site "Exchange Back End" -Name ecp -PhysicalPath "C:Program FilesMicrosoftExchange ServerV15ClientAccessecp" -ApplicationPool MSExchangeECPAppPool
Reconstrucción de otros directorios virtuales de Exchange mediante PowerShell
Anteriormente hemos cubierto cómo reparar directorios virtuales OWA y ECP. Estos directorios virtuales de Exchange causan problemas con mayor frecuencia. Sin embargo, existen varios directorios virtuales de servicios en Exchange. Los problemas con ellos ocurren con menos frecuencia, pero en algunos casos, también tendrá que volver a crearlos desde cero.
Puede obtener información sobre otros directorios virtuales de Exchange mediante los cmdlets de EMS:
Get-AutodiscoverVirtualDirectory Get-OABVirtualDirectory Get-MapiVirtualDirectory Get-ActiveSyncVirtualDirectory Get-PowerShellVirtualDirectory Get-WebServicesVirtualDirectory
Los siguientes cmdlets se utilizan para eliminar estos directorios virtuales de Exchange:
Remove-ActiveSyncVirtualDirectory -Identity "ex2016Microsoft-Server-ActiveSync (Default Web Site)" Remove-OabVirtualDirectory -Identity "ex2016OAB (Default Web Site)" Remove-MapiVirtualDirectory -Identity "ex2016mapi (Default Web Site)" Remove-AutodiscoverVirtualDirectory -Identity "ex2016Autodiscover (Default Web Site)" Remove-PowerShellVirtualDirectory -Identity "ex2016PowerShell (Default Web Site)" Remove-WebServicesVirtualDirectory -Identity "ex2016EWS (Default Web Site)" -Confirm:$True
La siguiente tabla enumera los métodos de autenticación de IIS predeterminados que están habilitados de manera predeterminada para varios directorios virtuales de Exchange:
| directorio virtual | Métodos de autenticación predeterminados de IIS |
| OWA | Autenticación anónima
Autenticación de Windows |
| PAE | |
| Detección automática | |
| SAT | |
| MAPI
owaCalendario |
Autenticación anónima |
| Microsoft-Server-ActiveSync | Autenticación básica |
| OAB | Autenticación de Windows |
| Potencia Shell | |
| Rpc |
Para crear estos directorios virtuales de Exchange, utilice:
New-ActiveSyncVirtualDirectory -Server "ex2016" -InternalUrl "https://mail.contoso.local/Microsoft-Server-ActiveSync" -ExternalUrl "https://mail.contoso.local/Microsoft-Server-ActiveSync" New-AutodiscoverVirtualDirectory -Server "ex2016" -BasicAuthentication $true -WindowsAuthentication $true Set-ClientAccessServer -Identity "ex2016" -AutodiscoverServiceInternalUri https://autodiscover.contoso.local/Autodiscover/Autodiscover.xml New-MapiVirtualDirectory -Server "ex2016" -InternalUrl https://mail.contoso.local/mapi -ExternalUrl https://mail.contoso.local/mapi -IISAuthenticationMethods Ntlm, OAuth, Negotiate New-OabVirtualDirectory -Server "ex2016" -InternalUrl "https://mail.contoso.local/OAB" -ExternalUrl "https://mail.contoso.local/OAB" New-PowerShellVirtualDirectory -Server "ex2016" -Name Powershell -InternalUrl https://mail.contoso.local/PowerShell -ExternalUrl https://mail.contoso.local/PowerShell -RequireSSL:$false New-WebServicesVirtualDirectory -Server "ex2016" -InternalUrl "https://mail.contoso.local/EWS/Exchange.asmx" -ExternalUrl "https://mail.contoso.local/EWS/Exchange.asmx"
Reinicie IIS o reinicie el host de Exchange Server.
Ahora abra el navegador e inicie sesión en el Centro de administración de Exchange (EAC) mediante el vínculo https://ex2016.contoso.com/ECP. Seleccione Servidores elemento en el panel izquierdo y haga clic en Directorios virtuales en el menú superior. En el Seleccionar servidor seleccione el nombre del host de Exchange en el que recreó los directorios virtuales. Verifique que todos los directorios virtuales de Exchange que volvió a crear anteriormente ahora se muestran en la consola EAC.

De la misma manera, puede restablecer y volver a crear todos los directorios virtuales (OAB, EWS y Detección automática) en Exchange 2019/2016/2013.
New-OwaVirtualDirectory: se produjo un error al crear el directorio virtual de IIS
En algunos casos, al volver a crear un directorio virtual en Exchange mediante los cmdlets New-OwaVirtualDirectory o New-OwaVirtualDirectory, es posible que reciba un error:
Se produjo un error al crear el directorio virtual de IIS `IIS://Exch2016/W3SVC/1/ROOT/ECP'
O:
La configuración de AD para el directorio virtual 'owa' ya existe en 'CN=xxx', elimine esta configuración de AD manualmente.
Este error se produjo porque la metabase de IIS dejó un registro del directorio virtual creado, lo que impide que el cmdlet New-EcpVirtualDirectory cree un nuevo directorio.
Es importante comprender que los directorios virtuales de Exchange se almacenan en dos ubicaciones: Active Directory e IIS. El cmdlet Get-EcpVirtualDirectory (o un cmdlet similar para diferentes directorios virtuales) obtiene información de AD y no de la configuración de IIS.
El cmdlet Remove-XXXVirtualDirectory elimina el directorio virtual de Exchange de AD.
Ejecute la herramienta ADSI Edit y conéctese a la configuración de su dominio. Vaya a la siguiente partición de configuración del directorio: CN=Configuración > CN=Servicios > CN= Microsoft Exchange > CN=SuNombredeExchange > CN=Grupos Administrativos > CN=Grupos Administrativos de Exchange > CN=Servidores > CN=SuNombreDeExchangeServer > CN=Protocolos > CN= HTTP. Busque el directorio virtual que desea volver a crear en esta partición.
Si el directorio se elimina de IIS pero permanece en AD, primero debe eliminar el directorio de AD mediante el cmdlet Remove-XXXVirtualDirectory (donde XXX es el nombre del directorio: ECP, OWA, etc.).
Insinuación. No elimine los directorios virtuales de Exchange Server mediante el Administrador de IIS a menos que esté seguro de que sus metadatos no están almacenados en Active Directory.

Si el directorio todavía está en IIS pero se eliminó de la configuración de Active Directory, recibirá el siguiente error cuando intente volver a crearlo con el cmdlet de PowerShell New-XXXVirtualDirectory:
Se produjo un error al crear el directorio virtual de IIS 'IIS://ex2016/W3SVC/1/ROOT/owa' en ex2016′. Cmdlet-InvalidOperationExceptio:
En este caso, debe eliminarlo de la configuración de IIS. Para hacer esto, necesitamos la Explorador de metabases herramienta de la Kit de recursos de IIS 6 (que requiere la función Net Framework 3.5).

Inicie IIS Metabase Explorer, vaya a Exchange > LM > W3SVC > 1 > ROOT. Elimine el directorio que desee haciendo clic derecho sobre él y eligiendo Eliminar.

Reinicie IIS:
iisreset /force
Ahora intente crear el directorio virtual nuevamente usando los cmdlets New-EcpVirtualDirectory, New-OwaVirtualDirectory o New-WebApplication.





