一台正常的Exchange2010 CAS角色的IIS里,应该如下图所示包含一些功能性的虚拟目录。

其中需要注意的,是它们的.NetFrameWork版本,与所属的AppPool

p_w_picpath

那么如果需要对Exchange2010进行二次开发,在特定的需求下,需要安装.NetFramework4.0;也就是本人这次碰上的场景。可能大家会觉得4.0应该是兼容2.0,按说不会有什么大问题。

可是微软偏偏就有这样一个bug,在安装完4.0之后,所有的AppPool会被自动切换到4.0版本,然后你会发现……你的owa不会重定向了。

相关的链接:

http://www.devinonearth.com/2013/02/msexchange-2010-and-net-4-0/

以上链接里那个哥们提出了简单的解决办法就是将AppPool的版本切换回来…………

可是…………

我手一抖,就把所有的虚拟目录删了,这样EMC和EMShell都打不开了……妄图通过重新安装CAS角色来重建这些目录可是,安装程序并没有。

正当我各种试图对比另一台CAS角色,在这台IIS里点右键新建应用程序填入一模一样参数的时候。我想起了一个命令,那就是New-OwaVirtualDirectory

于是……其他的各种虚拟目录会不会也有对应的命令?赶紧尝试一下,果然贴心。赶紧重建恢复,EMC终于打开了……

使用New命令的时候虚拟目录名字不要弄错了,与原来的相同就好。

p_w_picpath

 

喔…顺便忘记说了,故障情况下是打不开EMShell的,见下图操作。

或者在任务栏powershell图标上点右键-导入系统模块,也是相同效果。

 

p_w_picpath

 

本文中心思想:

1、删了IIS里的目录不要慌,各种命令早就准备好了……防手贱

2、Exchange2010与.Net4.0的bug一定要注意

3、再来篇关于Exchange手动修复的干货:如何重建Exchange安全组

http://careexchange.in/how-to-recreate-corrupted-microsoft-security-groups-in-exchange-2010/