Internet信息服务(IIS)是微软的一个web服务器,运行在Windows上,提供所请求的网页或文件。另一方面,虚拟目录是在Internet信息服务或IIS中指定的路径,并将应用程序映射到本地或远程服务器上包含应用程序内容的物理目录。
安装Exchange Server时,安装程序会自动配置这些IIS虚拟目录,其中包括:
- Autodiscover
- 外汇控制面板(ECP)
- Exchange Web服务(EWS)
- MAPI
- 交换ActiveSync
- 网上通讯录(OAB)
- Outlook Web App (OWA)
- PowerShell
如果您在访问这些服务或网页时遇到错误,则可能是由于IIS虚拟目录的问题。
此外,IIS虚拟目录错误可能导致以下问题:
- 与ECP、OWA等的连接问题
- 黑屏问题
- 页面错误,例如ECP HTTP 500错误
- 丢失的文件
- 权限的问题
- 阻止通过网络访问电子邮件
- ECP运行错误(web。配置配置文件)
但是,管理员可以使用服务器上的IIS管理器、Exchange Admin Center (EAC)或Exchange Management Shell (EMS)查看、修改或重置这些虚拟目录的属性,并修复IIS虚拟目录的任何问题。
在本文中,您将学习查看、配置、重置和重新创建Exchange IIS虚拟目录以修复常见问题和解决IIS虚拟目录错误的步骤。
修复IIS虚拟目录错误的方法
大多数IIS虚拟目录错误可以通过使用Exchange Management Shell重置或重新创建来解决。但是,要为OWA或ECP重新创建IIS虚拟目录,必须删除现有的虚拟目录。
但是,在继续进行故障排除步骤之前,让我们快速讨论一下使用Exchange Admin Center (EAC)查看和配置IIS虚拟目录属性的步骤。
- 登录到EAC并导航到服务器>目录。
- 选择要查看或配置的虚拟目录。诸如网站、身份验证、Web版本、外部URL等属性都列在右侧窗格中。
- 如果您有多个Exchange Server设置,则可以从下拉菜单中选择Exchange Server以查看或配置虚拟目录。
- 从列表中选择虚拟目录,然后单击编辑图标查看和配置IIS虚拟目录属性。
- 您现在可以添加或更改内部或外部url,以便从内部或外部网络访问网页,例如Outlook web App (OWA)。默认值为https://_.ServerFQDN._/owa
- 同样,您可以自定义和配置其他选项,如“身份验证”、“功能”和“文件访问”等。
您也可以使用Exchange Management Shell (EMS)来查看虚拟目录属性。语法如下:
Get-OWAVirtualDirectory
cmdlet显示组织中所有Exchange服务器上所有OWA web虚拟目录的摘要列表。有关更多信息,请参阅此微软指南.
方法一:使用EAC重置并重新创建IIS虚拟目录
如果web或IIS虚拟目录没有正常工作或显示错误,您可以尝试重置它。当您重置虚拟目录时,该目录将被删除并使用默认设置重新创建。但是,任何自定义设置都将丢失。
步骤如下:
- 登录到EAC并导航到服务器>虚拟目录。
- 选择要重置的虚拟目录,例如OWA。
- 从工具栏中单击重置图标。
- 一个警告页面将打开。输入UNC路径保存和备份当前虚拟目录设置。
- 然后点击'重置”按钮。重复上述步骤可重置其他虚拟目录。
- 现在打开IIS管理器.您可以使用服务器管理器或按窗户+问、类型inetmgr,并选择IIS (Internet Information Services)管理器从列表中打开IIS管理器.
- 在IIS管理器中选择服务器,然后单击重新启动选项下列出的行动窗格。
您还可以在提升的命令提示符窗口中执行以下命令重新启动IIS。
Net stop w3svc /y
Net启动w3svc
重新启动后,检查您要访问的web页面。这将修复IIS虚拟目录错误。
方法二:使用EMS重新创建Exchange IIS虚拟目录
您还可以使用Exchange Management Shell (EMS)重新创建所有虚拟目录。如前所述,您需要删除Virtual目录以重新创建它。步骤如下:
以管理员身份打开EMS,然后执行以下命令在Exchange中重新创建IIS虚拟目录
重新创建Exchange ActiveSync虚拟目录
Get-ActiveSyncVirtualDirectory -Server "ServerName" |格式-列表服务器,名称,身份,内部url,外部url
“服务器名\Microsoft-Server-ActiveSync(默认网站)”确认:$假
New-ActiveSyncVirtualDirectory -Server "ServerName" -InternalUrl "https://mail.xyz.com/Microsoft-Server-ActiveSync" -ExternalUrl https://mail.xyz.com/Microsoft-Server-ActiveSync
重新创建自动发现虚拟目录
get autodiscovervirtualdirectory -Server "ServerName" |格式-列表服务器,名称,标识
“服务器名\自动发现(默认网站)”确认:$假
新增autodiscovervirtualdirectory -Server " ServerName" -BasicAuthentication $true -WindowsAuthentication $true
Set-ClientAccessServer -Identity " ServerName" -AutodiscoverServiceInternalUrihttps://autodiscover.xyz.com/Autodiscover/Autodiscover.xml
重新创建Exchange控制面板(ECP)
Get-EcpVirtualDirectory -Server "SERVERNAME" | Format-List Server, Name, InternalUrl, ExternalUrl, Identity
SERVERNAME\ecp(默认网站)确认:$假
新建- ecpvirtualdirectory -Server "SERVERNAME" -InternalUrl "https://mail.xyz.com/ecp" -ExternalUrl "https://mail.xyz.com/ecp"
重新创建Exchange Web服务(EWS)
Get-WebServicesVirtualDirectory -Server "SERVERNAME" |格式-列表服务器,名称,内部url,外部url,身份
删除- webservicesvirtualdirectory - id "SERVERNAME\EWS(默认网站)"确认:$假force
[New-WebServicesVirtualDirectory -Server "SERVERNAME" -InternalUrl "https://mail.xyz.com/EWS/Exchange.asmx" -ExternalUrl "https://mail.xyz.com/EWS/Exchange.asmx"]
重建MAPI
Get-MapiVirtualDirectory -Server "SERVERNAME" |格式-列表服务器,名称,内部url,外部url,身份
删除mapivirtualdirectory - id "SERVERNAME\mapi(默认网站)"确认:$假
新建mapivirtualdirectory -Server "SERVERNAME" -InternalUrl https://mail.xyz.com/mapi -ExternalUrl https://mail.xyz.com/mapi -IISAuthenticationMethods Ntlm, OAuth, Negotiate
重新创建Exchange ActiveSync
Get-ActiveSyncVirtualDirectory -Server "SERVERNAME" |格式-列表服务器,名称,身份,内部url,外部url
删除- activesyncvirtualdirectory -Identity "SERVERNAME\Microsoft-Server-ActiveSync(默认网站)"确认:$假
新建- activesyncvirtualdirectory -Server "SERVERNAME" -InternalUrl "https://mail.xyz.com/Microsoft-Server-ActiveSync" -ExternalUrl "https://mail.xyz.com/Microsoft-Server-ActiveSync"
重建在线通讯录(OAB)
Get-OabVirtualDirectory -Server "SERVERNAME" |格式-列表服务器,名称,内部url,外部url,身份
删除oabvirtualdirectory - id "SERVERNAME\OAB(默认网站)"确认:$假force
新增oabvirtualdirectory -Server "SERVERNAME" -InternalUrl "https://mail.xyz.com/OAB" -ExternalUrlhttps://mail.xyz.com/OAB
重新创建Outlook Web App (OWA)
Get-OwaVirtualDirectory -Server "SERVERNAME" |格式-列表服务器,名称,内部url,外部url,身份
删除“SERVERNAME\owa(默认网站)”确认:$假
新建owavirtualdirectory -Server "SERVERNAME" -InternalUrl "https://mail.xyz.com/owa" -ExternalUrl "https://mail.xyz.com/owa"
重建PowerShell
Get-PowerShellVirtualDirectory -Server "SERVERNAME" |格式-列表服务器,名称,内部url,外部url,身份
“SERVERNAME\PowerShell(默认网站)”确认:$假
New-PowerShellVirtualDirectory -Server "SERVERNAME" -Name Powershell -InternalUrl https://www.mail.xyz.com/PowerShell -ExternalUrl https://mail.xyz.com/PowerShell -RequireSSL:$false
如果在删除或重新创建PowerShell虚拟目录时遇到错误,请运行以下命令,然后执行上述命令来删除和重新创建PowerShell虚拟目录。
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
然后重新启动IIS。您也可以重新启动服务器以使更改生效。
若要验证,请打开EAC并转到服务器>虚拟目录。
结论
希望本文中讨论的方法能够帮助您修复IIS虚拟目录错误并恢复web服务。但是,如果IIS虚拟目录重置未能修复错误,或者您在重新创建虚拟目录时遇到错误,请参考这个解决方案微软来解决这个问题。
但是,如果您仍然无法修复IIS虚拟目录错误,我们建议您设置一个新的Exchange服务器,并将邮箱从当前服务器移动到新服务器。您可以通过EAC或EMS将邮箱导出到PST,或者使用第三方EDB转换工具,例如EDB的恒星转换器.该软件可以帮助您加快邮箱传输过程。它可以同时将最多4个邮箱从当前Exchange Server数据库(脱机)直接导出到新的Exchange Server数据库,只需单击几下即可。使用该软件可以最大限度地减少停机时间并恢复关键的web服务。