转自winmag
前言
使用过EXCHANGE的朋友,一定都知道OWA。其强大的功能、简单的部署、快速的应用都给大家带来了很多的赞扬,也成为不能部署VPN或RPC/HTTP等在外使用邮箱的一个重要途径。但是OWA的界面却让人不免感到一点遗憾。虽然杂EX2003里,OWA的界面有了很大的饿提高,但仍觉得缺少了点什么。
信息化时代,人们都喜欢并热中于个性化生活。不管是公司的工作环境,还是个人的手机,都透露着个性化的特点。每个人使用的操作系统,虽然都是WINDOWS,可是背景、颜色等都各不相同。可是,遗憾的是,在EXCHANGE的OWA里,你却不能充分的展现你的个性。你不能轻易的为OWA换肤。自定义OWA外观看起来并不重要,但在个性化极度张扬的今天,却也是不少人希望做到的。可喜的是,微软的开发人员已经看到这一广泛的需求,在EX2003中的OWA里,已经引入了主题的概念,它允许用户可以自己设计自己的主题了。本文的目的就是指导大家去设计OWA主题。
一、简单的自定义
先来看看简单的,首先我们要知道OWA在它的WEB表示层上使用了好几百个各种图标,它们存放在\program files\exchsrv\exchweb\img的目录下,该目录下包含有522个图象文件。所有文件的格式都是GIF的。你可以编辑这些文件为你喜欢的内容,也可以用自己的图象取代它们(注意大小),修改这文件要特别的小心,不要改变图片的大小和特性。并且需要注意的是,一旦你安装了新的服务包(SERVICE PACK),你的修改将被还原。你需要保留一份你的更改以便恢复。
在这个目录下的包含有logon开头的文件,都是用于表单方式登录的登录页使用的。而OWA的表单方式的登录页的文件都存放在\program files\exchsrv\exchweb\bin\auth\目录下。在这个目录下是按语言分类的,你寻找到自己使用的语言,在其中可以看到logon.asp文件,这就是登录页面。现在你可以自由的修改和发挥你的想象了。(注意修改时不要破坏文件里的动态代码和图片的大小!!)
NOTE:微软不推荐你做这样的自定义操作,也不对此承担技术支持。当你修改时不小心破坏了一些问的时候,请将文件的原始版本复制回原来的位置。
二、建立主题
对于复杂的更改,单靠修改文件是不能实现的,我们需要建立一个属于自己的主题。让我们开始吧。默认的主题存放在\progran files\exchsrv\exchweb\thenes里,在这个目录下面有一些目录,分别是0-4,每个目录里有10个文件,下面是这些文件的描述:
* logo2.gif:品牌标志
* nb-bkgd.gif:OWA左边的背景颜色
* nb-hide-ql.gif:左边导航板中的图象,默认是个小三角
* nb-show-ql.gif:导航栏被隐藏时的图象
* nv-ql-tgl.gif:在nb-hide-ql.gif和nb-show-ql.gif后显示的背景色
* nin-sel-bkgd.gif:导航栏图象提供高亮色的条
* nin-bg.gif:OWA弹出新邮件统治的背景图象
* tool-bkgd.gif:OWA顶部窗口工具条中的背景
* resize-dot.gif:没有使用
第10 个文件不是一个图象文件,而是一个CSS文件。其中定义着主题的颜色规范。
三、让主题运行起来
建立主题后,你需要注册它。这样EXCHANGE才知道有这样的主题存在。你可以在组织的EXCHANGE服务器上注册主题,把主题文件放在所有的OWA计算机上,包括前端服务器。
注册主题,需要在注册表“HKLM\System\CurrentControlSet\Services\MSExchangeWeb\OWA\Themes”键下建立一个REG-SZ类型的键,名字是你要显示的主题名,其值是四对名称和值,注意,这些是强制的,如果你少了其中的一部分,系统将忽略整个主题。这四对名称是:
* id--主题的ID,用10进制或16进制表示,不能和已经存在的ID冲突。并不能大于0x80000000。
* path--主题的路径,这里的路径是相对的,相对于"exchweb\themes"。
* title--主题名,必须少于512个字符
* bgcolor--主题的背景颜色,以RGB方式表示(16进制)
样本:
id=0x200;path=my3d;title=my3d;bgcolor=#FFFFFF
四、用户选择
用户可以通过单击OWA导航栏下部的选项按纽,并从外观一节上选择一个已经存在的注册过的主题。默认的该处将显示OWA默认的四个颜色主题。如果你希望用户强制使用某一特定的主题,可以标记以下的注册表:
HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeWeb\OWA\Themes,在其下建立一个名为DefaultTheme的类型为REG_DWORD的键,其值为你希望用户使用的主题的ID号。这样用户将强制被使用你指定的特定主题,但用户仍然可以在选项里手工修改主题。
五、编辑过的OWA
在EX2000里,OWA就提供了可以将OWA功能分解的方法,可以为特定的用户屏蔽掉一部分的OWA功能。在2003里,你更可以方便的使用OWAADMIN工具实现这一功能。可以被分解的功能包括:日历、联系人、任务、日记、编遣、公共文件夹、日历提醒、丰富的接口和新邮件通知。这些功能在服务器里都有一个指定的分解值。如下表:
消息:1
日历:2
联系人:4
任务:8
日记:16
变迁:32
公用文件夹:64
日历提醒:128
新邮件通知:256
丰富接口:512
所有功能:4095
以上值为10进制。你也可以换算为16进制使用。将你需要的功能的分解值相加后得到分解值,写入服务器的注册表以下键中:
HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeWeb\OWA,在其下建立一个名为DefaultMailboxFolderSet的键,类型为REG_DWORD,其值就是相加得到的分解值。修改后需要重新启动IIS和IS服务。
如果要应用到单个用户,你需要首先使用SP2光盘下的support\owaschema目录下的两个文件,它们是:
* owa-schema.ldf 包含有活动目录架构变更的文件
* owa-schema.vbs 将上面的文件应用的脚本文件
有了这两个文件后,连接到AD的架构主机,使用脚本更新AD架构。等待复制完成后,你可以使用ADSI EDIT工具打开用户的msExchMailboxFolderSet属性进行设置分解值。可参考Q311154(XCCC:Outlook Web Access Segmentation)。
六、结束语
通过上面的解释,你应该不再为自定义OWA而烦恼了,但要特别注意的是,在修改过程中要注意备份,不要损坏注册表和脚本文件。(尤其是活动目录架构扩展时)以免导致不必要的麻烦。谢谢大家。。