微软在十年前推出Windows 2000时就随软件一起提供了多个工具,其中有两个用于诊断和排错的工具包:Windows支持工具包和Windows资源工具包。
多年来这些工具也不断地历经演变。 Windows支持工具包放到了Windows 2000和2003安装光盘的\Support目录下,而资源工具包则需要从微软网站下载。大部分常用的工具都来自支持工具包,而资源工具包则更专业一些。随着时间推移,这些工具本身也不断更新。例如,新版的Windows支持工具随Windows Server 2003 SP2一起更新,其中Repadmin.exe则增加了更多的参数。
经过一段时间后有些工具被会被直接集成到Windows操作系统中。例如,Gpresult.exe(用来显示服务器和客户端上组策略的应用结果)就集成到Windows Server 2003中。而在Windows 2000时代,我们必须把它从支持工具包中复制到客户端才能使用,这实在是太不方便了。
微软产品支持(MPS)报告
多年前微软就通过发布微软产品支持(MPS)报告(一套专为系统诊断提供的一些支持工具和命令脚本)来提升系统的诊断能力。例如,有一套为活动目录设计的MPS报告,它可以收集域控制器的事件日志并运行像Dcdiag、Netdiag、Gpresult、Repadmin和Gpotool这样的工具。也有其它版本的MPS 报告,包括网络、Exchange和SQL Server。这个工具已经演变成单一下载版,但运行时可以提供一系列选择:
- 可以在本地或者其它计算机上运行这个工具
- 选择要运行的版本(图1)
图1. MPS报告工具界面
然后它就会收集诊断数据并会给出一组报告。在图1所示的菜单也有一个“获得更多信息”的选项,它会列出所有需要运行的诊断选项。请注意,针对活动目录的诊断是放在Server Components(服务器组件)选项中的。这些报告是各种支持工具单独运行的结果集。它的优点有很多:
- 它是一个单一工具,我们可以通过它来获取数据,而不用去单独运行那10-12个程序。特别是在活动目录环境中,当你需要在多个域控制器中运行这些程序时,这确实很方便。
- 所有的数据都保存在一个CAB文件中。
- 可以将事件日志保存为.evtx、.txt和.csv三种格式,我大多使用.txt和.csv格式。要注意:
- .txt格式实际保存的是应用程序事件的描述。因此,如果你查看一个Exchange事件日志,你就不需要像使用.evtx格式那样将它加载或连接到Exchange服务器。这种方式对于那些你不熟悉的应用程序来说确实很棒。
- 用Excel可以打开.csv格式的事件日志,它有时会因为条目过多而超过Excel的限制,如果发生这种情况,那就升级到Excel 2010吧。Excel允许搜索和设置过滤器。例如采用高级过滤器,如图2所示,你很容易就可以得到日志中事件ID的列表,而不用在事件查看器的过滤器中摸索。在图2中,你可以很容易地看到这个文件中所有事件ID的列表。在这个例子中,如果要查找ID为2041的事件日志,你只需要在顶部清除全选,然后只勾选2041即可。
- 通常情况下,这两种格式我都会使用。有时事件的描述没有在.csv格式的文件中,我就通过.txt格式的文件来获取。
- .txt和.csv文件中显示运行MPS报告的计算机的本地时间。而.evtx文件显示的是目标服务器上的本地时间,所以如果两台计算机在不同的时区,就需要将报告上的时间进行转换。如果服务器在澳大利亚,而你在美国,当你在接近午夜时运行工具,时间问题就会变得很混乱。
图2:在Excel中的事件ID列表
无论是X86还是X64平台,都有其对应的MPS报告版本可供下载。这非常棒,但我还是有一些不满:
1. MPS报告使用前需要具备几个前提条件,它们是:
- Microsoft .NET Framework 2.0
- Powershell 1.0
- Windows Installer 3.1
- Microsoft Core XML服务(MSXML)6.0
这不太方便。但是我在一台没有安装以上组件的Windows Vista SP2的笔记本电脑上也能成功运行。
2. 应该多一些自助方式,我不喜欢按照菜单的方式进行选择(顺便提一下,菜单中没有专门的活动目录组件)。我还是喜欢以前的方式:下载指定的EXE文件并直接运行。
3. 我更喜欢以前的方式,建立一个cab文件,里面包含多个txt文件的报告。而现在却需要点击多次才能得到想要的东西。
4. 性能差很差。我下载并运行.exe文件,选择当前计算机,然后是通用(General)选项。在我装有Windows Vista并带有2个处理器和4GB 内存的笔记本电脑上运行了大概45分钟并占用了很多磁盘空间。
制作你自己的报告工具
你也可以制作自己的MPS报告。我有个叫Joe Turton的同事,他自己编写了一个工具在公司内部使用,我们称它为HPS 报告,它在功能上和运行速度上都比MPS报告要好很多,并且它的运行环境除了Windows管理规范(WMI)等一些系统必需的组件外不需要任何先决条件。此外,每次我想补充一些内容时,只要发一封电子邮件,Joe就可以实现它。这里我并不是想去将HPS报告作为一个产品来宣传和销售,我只是想说一个有才华的开发人员同样可以做出跟微软一样的产品,并且可以按需定制自己的MPS报告。
【编辑推荐】