 TechNet Magazine December 2007

TechNet Magazine December 2007

通信: Exchange Server 2007 Service Pack 1 的 16 项新增功能

Exchange Server 2007 Service Pack 1 与典型 Service Pack 不同，它不仅提供了修补程序和安全更新，还提供了其他内容。下面概述了 SP1 提供的一些最重要的新特性和功能。

Tony Smith 通信: Exchange Server 2007 Service Pack 1 中的备用连续复制

Service Pack 1 提供的最令人兴奋的功能之一是备用连续复制。了解此功能如何有助于延长正常运行时间、减少数据丢失及简化电子邮件维护和保留。

Scott Schnoll 通信: 在 Windows Server 2008 上运行 Exchange

是否准备在 Windows Server 2008 上运行 Exchange？目前为止，Microsoft Exchange 开发团队进行此研究已有一段时间，Paul Bowden 提供了一些建议以及他们获得的经验来帮助您做好准备。

Paul Bowden 通信: 使用 Exchange Server 2007 部署统一消息

将语音邮件功能、传真功能及电子邮件消息传递功能合并到单个邮箱似乎是项令人生畏的任务。但它实际上比您想像的要简单。下面是在组织中部署统一消息的指南。

Jeff Goodwin 安全性: 基本计算机取证指南

了解主流管理员为做基本调查进行计算机取证时可用的低成本简单方法。

Tom Cloward and Frank Simorjay 联网: Microsoft Security Intelligence Report

Microsoft 收集了大量关于计算机用户面对的安全威胁的数据。了解最新的趋势、Windows 各个版本的表现如何、世界哪个地区受影响程度最大等等。

Tim Rains 联网: 跟踪难以捉摸的网络问题

有时，您的一台计算机无法与其他计算机进行通信，而原因不明。这些提示可以帮助您快速诊断并解决问题。

Christopher Stoneff 编辑寄语: 开始进行对话

Joshua Hoffman 读者来信: 读者心声

工具箱: 面向 IT 专业人员的新产品

Greg Steen SQL 问与答: 内存配置、性能剖析、设置您的填充因子等等

Edited by Nancy Michell 实用程序特别推荐: Microsoft 安全评估工具

这个免费的实用程序和电子调查表可帮助中型组织确定和解决网络安全风险。

Lance Whitney 网络专家: 网络策略服务器

Windows Server 2008 中的网络策略服务器 (NPS) 服务取代了 Windows Server 2003 中使用的 Internet 身份验证服务，同时增加了大量的增强功能，不仅可以强制实施系统运行状况要求，还可以改进管理功能。

Joseph Davies Windows PowerShell: 深入了解

Windows PowerShell 提供的很多功能经常被忽略。通过采用有序的方法探索 Windows PowerShell Cmdlet，您将发现一些以前没有注意到的强大功能。

Don Jones 您好，脚本专家！: WinRM 系列文章第二部分发布了

管家是否已对其进行妥善处理？它会不会和烛台一起放在餐具室？在这里您不会找到此类问题的答案。但漫长的四周过后，脚本专家终于推出了 WinRM 系列文章的第 2 部分（共两部分）。

The Microsoft Scripting Guys 安全观察: Windows 域密码策略

到目前为止，Windows 仅允许每个域使用一种密码策略。但是，Windows Server 2008 允许管理员实现多个密码策略，可以为不同类型的用户量身定制不同的策略。

Derek Melber 桌面文件: 在虚拟世界中部署 Windows

您考虑过虚拟化吗？如果没有，应该好好考虑一下。了解部署虚拟系统需具备的知识、要避免的问题及虚拟化的工作原理。

Wes Miller 领域备注: 千变万化的未来

随着个人生活与职业生活中技术和观念的逐渐融合，IT 也逐步实现“消费化”。这对商业和个人生活的影响都非常深远。

Romi Mahajan Windows 机密: 操纵杆无需是微波

看一下 DirectInput 力反馈操纵杆接口如何指定周期力，以及一些意外结果。

Raymond Chen


 通信: Exchange Server 2007 Service Pack 1 的 16 项新增功能
通信 Tony Smith

Exchange Server 2007 Service Pack 1 的 16 项新增功能
概览:
  • 新增的管理功能
  • 增强的服务器角色
  • 改进的统一消息

大多数管理员都熟悉下载和应用针对服务器和桌面系统的 Service Pack 的过程。当然，这些下载内容提供可帮助您使系统保持最新状态的
修补程序和安全更新。但 Service Pack 有时还包含其他内容。即将发布的 Microsoft® Exchange Server 2007 Service Pack 1 就属于这种情况，其中包含许多激动人心的新功能。
此下载内容可在 go.microsoft.com/fwlink/?LinkId=91472 获得，它既可用于执行完整的 Exchange Server 2007 安装（所有 SP1 更新已就绪），又可用于更新现有的 Exchange Server 2007 安装。Exchange Server 2007 SP1 不仅能够安装在 Windows Server® 2003 SP1、SP2 和 R2 上，还与将来版本 Windows Server 2008 兼容。
Service Pack 1 引入了很多新增功能和增强功能，我无法在此简要概述中一一介绍。因此，我编制了一个描述性列表，用来收录那些对改进 Exchange 环境最有用的改动。有关所有这些更改的详细信息，请参阅“Exchange Server 2007 SP1 中的新增功能”，网址为 technet.microsoft.com/bb676323.aspx。

对 Exchange 管理控制台的更改
Service Pack 1 为 Exchange 管理控制台（如图 1 所示）提供了一些便利的新功能。对于初学者，“工具箱”不仅提供默认情况下随 Exchange Server 2007 一起安装的诊断、故障排除和恢复工具集合，现在还提供公用文件夹管理控制台、详细信息模板编辑器以及路由日志查看器。
Figure 1 Exchange Management Console with Service Pack 1
Figure 1 Exchange Management Console with Service Pack 1
您可以使用 Exchange 管理控制台、公用文件夹管理控制台、详细信息模板编辑器和队列查看器从结果窗格和工作窗格中导出列表。列表可导出为下列格式：文本（制表符分隔）、文本（逗号分隔）、Unicode 文本（制表符分隔）和 Unicode 文本（逗号分隔）。除能够筛选 Exchange 管理控制台的结果窗格外，现在还可以筛选公用文件夹管理控制台、详细信息模板编辑器以及队列查看器的结果窗格。
但最值得注意的是，Exchange 管理控制台包含了很多新管理界面（如我提到的公用文件夹管理控制台）。我将在本文中逐一介绍这些界面。

支持 IPv6
由于要支持 Windows Server 2008，所以必须支持 Internet 协议版本 6 (IPv6)。当然，这是因为 Exchange Server 2007 实际上要安装在启用 IPv4 和 IPv6 协议堆栈的 Windows Server 2008 上。如果在安装前禁用 IPv4，Exchange 将不支持 IPv6。
您可以以 IPv4 或 IPv6 格式输入 IP 地址和范围。除一个服务器角色外，其余所有服务器角色都可以在使用 IPv6 地址的设备、服务器和客户端中发送和接收数据。这个例外就是统一消息服务器角色。这是由于一些必要的电话和语音组件方面的限制，因此统一消息角色需要使用 IPv4。

POP3 和 IMAP4 管理 UI
Exchange 管理控制台包含用于管理 POP3 和 IMAP4 的新管理 UI。在此界面上，您可以为客户端访问服务器配置所有 POP3 和 IMAP4 设置，包括端口设置、身份验证设置和连接设置。图 2 显示了“IMAP4 属性配置”对话框，这些选项同样适用于 POP3。
Figure 2 Exchange Management Console for POP3/IMAP4
Figure 2 Exchange Management Console for POP3/IMAP4

更强大的邮箱管理
Exchange 管理控制台的邮箱管理功能现在支持为现有用户帐户批量创建邮箱。同时，新向导允许管理员授予或删除对邮箱的“完全访问”权限，并允许您为邮箱配置“代理发送”权限。

用于管理邮箱数据的新功能
管理员现在可以导入和导出 .pst 文件来管理邮箱数据。您还可以在 Exchange 命令行管理程序中使用 Import-Mailbox cmdlet 和 Export-Mailbox cmdlet 执行此操作。
邮件传递记录管理 (MRM) 可应用于具有 Exchange 标准客户端访问许可证的 Exchange 服务器中承载的托管默认文件夹。（请注意，针对托管自定义文件夹的 MRM 仍然需要 Exchange 企业客户端访问许可证。）Set-Mailbox cmdlet 的新 RemoveManagedFolderAndPolicy 参数可用来删除邮箱的任何 MRM 策略，删除作为应用于该邮箱的 MRM 策略的一部分创建的所有托管文件夹的 MRM 属性，以及将所有托管文件夹转换为标准文件夹。
通过新性能监视器计数器，您可以监视各种联机碎片整理信息，即上次运行联机碎片整理的时间、整理碎片花费的时间以及碎片整理的内容。此信息有助于优化联机碎片整理的时间间隔。

远程擦除确认
Exchange Server 2007 允许管理员或帐户用户发出远程擦除命令，以清除移动设备上的所有用户数据 — 如果设备遗失或被盗，此项安全功能可提供便利。借助于 Service Pack 1，设备会在确认远程擦除请求后发出一条确认消息。如果由用户通过 Outlook® Web Access 或 OWA 发出此请求，则他可收到一封确认电子邮件。如果由管理员通过 Exchange 管理控制台发出请求，则管理员和用户都会收到一封确认电子邮件。

更强大的 OWA 客户端
基于 Web 的电子邮件客户端提供了很多增强功能，这些功能可使移动工作人员更好地进行邮件传送。借助于 SP1，OWA 用户可以创建并编辑个人通讯组列表和服务器端规则。另外，用户还可以使用“转储”功能和“恢复已删除邮件”功能。
UI 中已添加了移动和复制命令，用户可通过文件夹列表上的右键单击菜单来移动和复制文件夹。通过在邮件列表中右键单击或单击工具栏上的图标，还可以移动和复制邮件文件夹及公用文件夹中的各个邮件。
此外，OWA 用户对公用文件夹还具有完全访问权限，而无需使用 /public 虚拟目录（也无需使用 Exchange 2003 后端服务器来支持此权限）。并且，OWA 中支持公用文件夹搜索功能。
S/MIME 功能现在允许用户阅读和撰写签名和加密的电子邮件（请参见图 3）。除此之外还支持 CNG（加密 API：下一代）并符合 Suite-B。同时，还可对 OWA 用户界面进行自定义以便与自定义应用程序实现无缝集成。
Figure 3 S/MIME message settings
Figure 3 S/MIME message settings

OWA Light 撰写监视
Outlook Web Access Light 是 OWA 的一个相对简单的版本，旨在与几乎所有的 Web 浏览器协作，现在可在用户撰写任意类型的长输入内容（如邮件或日历条目）时对活动进行监视，以确保用户在键入时会话不会超时（否则会导致数据丢失）。此外，如果邮件撰写窗体在处于打开状态时由于未活动而导致会话超时，则会自动将邮件保存在“草稿”文件夹中。

改进了直推技术的性能
直推技术通过在移动设备和 Exchange 2007 服务器之间建立 HTTPS 连接来运行。借助 Exchange 2007 SP1，可减小 HTTPS 请求和响应头的大小，从而减少从移动设备发送和接收的数据量。

公用文件夹管理
新公用文件夹管理控制台（如图 4 所示）使管理员能够在 Exchange 管理控制台内部创建、配置和维护公用文件夹。地址列表、电子邮件地址策略、动态通讯组和通讯组列表都能够识别公用文件夹。预览地址列表、电子邮件地址策略、动态通讯组和通讯组收件人时，您可以看到组成员身份标准中包括的启用邮件的公用文件夹。
Figure 4 Public Folder Management Console
Figure 4 Public Folder Management Console
使用 Exchange 2007 SP1 中的公用文件夹管理控制台，可配置公用文件夹管理权限。通过使用 Add-ExchangeAdministrator cmdlet 或“添加 Exchange 管理员向导”向“公用文件夹管理员”角色添加用户，或者使用 Add-PublicFolderAdministratorPermission cmdlet 为公用文件夹授予或拒绝特定权限，都可以实现上述配置操作。

增强的邮件处理和路由功能
部署在 Active Directory® 林内部的集线器传输服务器可处理组织内部的所有邮件流、应用传输规则、日志规则并将邮件传送到收件人邮箱。发往 Internet 的邮件通过集线器传输服务器中继到网络外围的边缘传输服务器。SP1 可增强这些服务器角色的功能。
Exchange Server 2007 具有一项系统资源监视功能，称为“回压”，此功能使集线器传输服务器和边缘传输服务器能够对高资源使用率做出响应。借助 SP1，可大大降低可用磁盘空间要求：从 4GB 降到了 500MB。
SP1 中的 Exchange 管理控制台提供了更多的传输配置设置。现在，您可以将 X.400 地址空间配置为权威域（现在仍然支持 X.400 长地址）。
集线器传输服务器支持优先级队列。分类程序能够识别 Outlook 用户为邮件指派的邮件优先级，从而有助于确保以高优先级发送的邮件得到优先处理，并且比设置为低优先级的邮件传递得更快。
在 Exchange 2007 SP1 中，由于在 Exchange 命令行管理程序 cmdlet 中添加了 IsScopedConnector 参数，并选中了 Exchange 管理控制台中的“作用域受限的发送连接器”(Scoped Send Connector) 复选框，从而简化了发送连接器相对于单个 Active Directory 站点的范围设置。确定发送连接器的范围后，只有与发送连接器的源服务器位于同一 Active Directory 站点的集线器传输服务器才会在路由决策中考虑该发送连接器。

边缘传输服务器同步增强功能
在 Exchange Server 2007 SP1 中，您可以使用 Start-EdgeSynchronization cmdlet 立即将 Active Directory 中的数据同步到 Active Directory 应用程序模式 (ADAM) 目录服务。在 Exchange 2007 SP1 中，此 cmdlet 支持 Server 参数，从而使您能够从远程计算机运行 cmdlet。
Test-EdgeSynchronization cmdlet 是报告边缘传输服务器同步状态的诊断 cmdlet，它通过设置新的参数得到增强，使您能够验证各个用户的同步结果。

TransportConfig 对象克隆
如果管理员的环境中部署了多个边缘传输服务器，使用克隆配置脚本则可轻松应用一致的配置。在 SP1 中，克隆配置信息中包含了 TransportConfig 对象，可用来控制边缘传输服务器角色的服务器范围设置。通过包含此对象，可大大简化服务器部署、备份和还原过程。

统一消息的改进功能
统一消息功能是 Exchange Server 2007 最初发行版中令人兴奋的一部分。Service Pack 1 基于此功能构建，并引入了许多新功能和增强功能。部分功能需要您在同一个 Active Directory 林中部署 Office Communications Server 2007，但也有很多功能不需要使用 Office Communications Server。我无法在此一一介绍统一消息的所有更改，但我会介绍一些值得注意的新增内容。如果希望了解有关统一消息的更多信息，请阅读本期《TechNet 杂志》中的“使用 Exchange Server 2007 部署统一消息”。
首先，我将介绍一些需要 Office Communications Server 2007 的新功能。现在支持媒体流穿过防火墙，还支持高保真语音邮件。如果目标使用了呼叫转发，则会在离开语音邮件时发出转发通知。用户可以从 Office Communicator 2007 访问 Outlook Voice Access，无需输入 PIN。 Office Communicator 2007 可以使未及时接收的呼叫通知电子邮件和语音通知实现集成（请参见图 5）。还有更多其他功能。
Figure 5 Voicemail notification in Office Communicator
Figure 5 Voicemail notification in Office Communicator
统一消息中不需要使用 Office Communications Server 的增强功能之一是支持安全实时传输协议 (SRTP)。Exchange Server 2007 的最初发行版提供了两种安全性模式：不安全模式和安全模式。安全模式仅加密会话初始协议 (SIP) 通信，而不加密 RTP 通信。在 SP1 中，存在三种模式：不安全模式、SIP 安全模式和安全模式。在 SIP 安全模式下，只加密 SIP 通信，不加密 RTP 通信。在安全模式下，既加密 SIP 通信又加密 RTP 通信。您还可以使用 Exchange 管理控制台为拨号计划配置相互传输层安全性 (MTLS)。
其他更改还包括可用来为用户添加 SIP 或 E.164 地址的新“启用统一消息向导”、使用 Exchange 管理控制台为拨号计划配置 URI 类型，并且 SP1 中还新增了对使用 DiffServ 标记媒体流量的服务质量 (QoS) 支持。

更优良的高可用性
Service Pack 1 引入了可改进高可用性的若干新功能和对现有高可用性功能的增强。新增功能和改进功能可扩展那些用来获得 Exchange 2007 服务器角色的数据和服务可用性的方案。使用新方案，组织可以将高可用性方案与站点恢复方案区分开来，还可根据组织各个独立领域的特定需求部署量身定制的配置。
对于初学者而言，新增的对 Windows Server 2008 的支持使多子网故障转移群集成为可能，并支持新的仲裁模型（磁盘和文件共享见证）。针对群集报告和监视功能也进行了一些意义重大的改进，包括旨在主动监视连续复制环境的附加功能。同时，与性能相关的改进包括降低了包含存储组被动副本的磁盘上的 I/O、加快了日志文件复制并加速了群集邮箱服务器在各节点间的移动。
最后，还添加了新向导以改进管理和配置体验（请参见图 6），添加了新的 UI 控件以管理群集邮箱服务器，包括新的“群集邮箱服务器”选项卡和群集连续复制 (CCR) 配置页。
Figure 6 Manage Clustered Mailbox Server Wizard
Figure 6 Manage Clustered Mailbox Server Wizard

备用连续复制
备用连续复制 (SCR) 使用与本地连续复制 (LCR) 和 CCR 相同的日志传送功能和重播技术提供新增的部署选项和配置。SCR 与 LCR 和 CCR 类似，但是它有自己独特的特性。要深入了解 SCR，请参见本期《TechNet 杂志》中 Scott Schnoll 撰写的文章“Exchange Server 2007 中的备用连续复制”。

总结
显然，Exchange Server 2007 Service Pack 1 不只提供修补程序和安全更新。它还提供了许多您很快要用到的新增功能和增强功能。由于篇幅所限，我无法在此介绍所有的新增功能和改进功能，但是我希望本文能使您对该产品有所了解。有关 Service Pack 1 中所有更改以及下载内容、网络广播和论坛的完整信息，请访问 Exchange Server 技术中心，网址为 technet.microsoft.com/exchange。

Tony Smith 是 Exchange 用户培训团队的首席技术撰稿人，专长于统一消息。加盟 Microsoft 之前，Tony 是 Microsoft 某供应商的一名网络工程师，同时还是一位 Microsoft 认证培训师。Tony 还曾为 Microsoft Learning 完成过多个书面创作项目，其中包括书籍和实验手册。
© 2007 Microsoft Corporation 与 CMP Media, LLC.保留所有权利；不得对全文或部分内容进行复制.


 通信: Exchange Server 2007 Service Pack 1 中的备用连续复制
通信 Scott Schnoll

Exchange Server 2007 Service Pack 1 中的备用连续复制
概览:
  • 配置备用连续复制
  • 冗余的重要性
  • SCR 如何缓解停机时间

Service Pack 1 提供了多项针对 Exchange 2007 的新增功能和增强功能。其中一项新增功能称为备用连续复制 (SCR)，旨在为组织提供数据中心内的冗余和站点恢复功能。顾名思义，SCR 主要针对
使用或能够使用备用恢复服务器的方案而设计。
如果您非常熟悉 Exchange 2007 的批量生产 (RTM) 版本，就会发现，它还通过自身的日志传送功能和对 Windows® 故障转移群集的支持提供了数据中心内的冗余和站点恢复功能。在 RTM 版本中，提供了两种形式的日志传送（正式名称为连续复制）：本地连续复制 (LCR)，如图 1 所示；群集连续复制 (CCR)，如图 2 所示。
Figure 1 Local continuous replication
Figure 1 Local continuous replication
Figure 2 CCR is log shipping to a second server in a Windows failover cluster
Figure 2 CCR is log shipping to a second server in a Windows failover cluster
连续复制允许管理员在线启用和维护每个邮箱数据库的另一个副本，从而提供了数据可用性和冗余。此数据库副本代表防御生产数据库故障、丢失或损坏的第一道防线。这样，只需花费几分钟便可激活数据库副本并将其转换为生产数据库，您就无需浪费时间为恢复数据查找备份磁带了。
SCR 扩展了该方案，在其中您可以实现组织的数据和服务可用性。通过新方案，您可以将高可用性拓扑和站点恢复拓扑区分开来，还可以在各个区域部署根据组织的特定需求量身定制的配置。
Exchange 2007 的 RTM 版本提供了数据中心内的冗余和站点恢复，但由于 LCR 和 CCR 针对每个数据库仅提供了一个额外副本，因此您必须在恢复和冗余之间进行选择。例如，考虑一下 CCR 提供的数据和服务可用性功能。在一个数据中心部署主动节点和被动节点可提供数据中心内的服务和数据可用性，但不提供站点恢复（因为这两种节点位于同一个物理站点中）。在某个数据中心部署主动节点而在另一个数据中心部署被动节点可提供站点恢复，但不提供数据中心内的可用性（因为提供这些功能的被动节点位于另一个数据中心）。
使用 Service Pack 1 中的 SCR，能够针对每个数据库创建更多副本，这意味着高可用性和站点恢复不再互相排斥，您可以同时实现两者。例如，如图 3 所示，您可以结合使用 SCR 与 CCR 在主数据中心内本地复制存储组（使用 CCR 获得高可用性），而在另一个数据中心或备份数据中心远程复制存储组（使用 SCR 获得站点恢复）。在站点恢复方案中，第二个数据中心包含可激活和快速设置替换群集邮箱服务器的备用群集。
Figure 3 CCR deployed in Redmond datacenter and SCR deployed in Quincy datacenter
Figure 3 CCR deployed in Redmond datacenter and SCR deployed in Quincy datacenter
图 3 描述了针对两个数据中心的企业部署，其中每个数据中心都有自己的 Active Directory® 站点：Redmond 和 Quincy。Redmond 站点位于主（生产）数据中心，Quincy 站点位于另一个（备份）数据中心。在 Redmond 中部署 CCR 以获得数据中心内的冗余。借助 Exchange 2007 所需的基础结构要素，在 Quincy 中的备用群集上配置 SCR 目标可获得站点恢复。这些附加的基础结构要素包括客户端访问服务器和集线器传输服务器、Active Directory 服务器和 DNS 服务器以及 Internet 访问，它们可以是专用资源，也可以是非专用资源。专用资源是指明只支持资源所在数据中心的用户的资源。非专用资源是指既支持本地数据中心的用户也支持其他位置的用户的资源。您必须根据组织的需要，确定资源是专用还是非专用。有关专用和非专用资源的详细信息，请参见 Exchange Server 2007 帮助文件主题“站点恢复配置”，网址为：technet.microsoft.com/bb201662.aspx。您还要注意新类型多数节点集 (MNS) 仲裁的使用。在 Exchange Server 2007 中，CCR 使用 MNS 仲裁进行文件共享见证 (FSW)，而不使用传统的投票节点，如图 3 所示。
在图 4 中，具有恢复功能的 CCR 和 SCR 环境为服务器 EXCLUS1 上承载的邮箱和服务提供了若干层冗余，从而保护这些邮箱以防止出现各种规模的灾难性故障。
Figure 4 Standalone mailbox servers using SCR to replicate storage groups to each other
Figure 4 Standalone mailbox servers using SCR to replicate storage groups to each other
中小型组织也可以从 SCR 中受益。例如，如图 4 所示，组织可以部署两个独立的邮箱服务器（EXMBX1 和 EXMBX2），然后使用 SCR 将一个邮箱服务器中的部分或全部存储组复制到另一个邮箱服务器。
在本例中，EXMBX1 和 EXMBX2 都是具有五个活动存储组的生产服务器。每个存储组都是一个 SCR 源，对应于其他服务器上的 SCR 目标。如果出现存储故障或导致配置为 SCR 源的活动存储组不可用的其他情况，可使用 Exchange 命令行管理程序中的几项管理任务快速激活 SCR 目标副本。使用 Microsoft® Office Outlook® 2007 和 Exchange 2007 中的数据库可移植性和自动发现功能，则由活动存储组丢失（或者，是丢失了多个活动存储组）而导致的停机时间仅仅几分钟而已。

SCR 源和目标
在 LCR 和 CCR 中，SCR 也使用存储组主动副本和被动副本的概念，但它们分别称为 SCR 源和 SCR 目标。不过，SCR 源和 SCR 目标都是存储组副本。（无法针对 SCR 使用恢复存储组。）
SCR 的起点（SCR 源）是单一副本群集或 CCR 环境中独立的邮箱服务器或群集邮箱服务器上的任意存储组。不过请注意，尽管 SCR 源可以是群集邮箱服务器，但 SCR 本身不是群集解决方案，也不需要使用 Windows 群集服务，这一点很重要。SCR 的终点（SCR 目标）既可以是独立邮箱服务器，也可以是故障转移群集中的节点，群集中已安装邮箱角色但尚未配置群集邮箱服务器。

源和目标的关系
每个 SCR 源存储组拥有的 SCR 目标数都不受限制。例如，一个源可以在其所在的数据中心拥有一个目标，在其他数据中心拥有另一个目标。但是，Microsoft 建议每个源对应的目标不要超过四个。如果您决定使用四个以上的目标，则必须相应地针对内存、CPU、磁盘资源和规划来评估可能会对 SCR 源服务器造成的影响。每个 SCR 目标计算机可以具有多个源服务器。源计算机和目标计算机都必须运行 Exchange 2007 Service Pack 1。操作系统必须受 Exchange 2007 Service Pack 1 支持（例如，Windows Server® 2008 或 Windows Server 2003 SP2）。不过，无论您使用哪种操作系统，SCR 都不支持跨操作系统，所以它要求 SCR 源上的操作系统与该源对应的所有 SCR 目标上的操作系统匹配。因此，如果 SCR 源运行 Windows Server 2003，则该源的所有 SCR 目标也必须运行 Windows Server 2003。
SCR 在 Exchange 2007 Standard Edition 中提供。如果将 SCC 或 CCR 环境中的群集邮箱服务器用作 SCR 源，则需要使用 Exchange 2007 企业版。使用企业版时，每个 SCR 目标最多支持 50 个实例（50 个复制的存储组）；使用标准版时，最多支持 5 个实例。
SCR 目标也有一些必须满足的要求。首先，源计算机和目标计算机必须位于同一个 Active Directory 域中，不过它们可以位于相同或不同的 Active Directory 站点中。此外，源及其所有目标上的数据库和日志文件路径必须与 SCR 正在复制的各个存储组相匹配。最后，将某个节点或服务器配置为 SCR 目标后，将无法为 SCR 目标计算机上的任何存储组启用 LCR，并且无法将任何群集邮箱服务器添加到备用故障转移群集。

比较 SCR 与 CCR 和 LCR
SCR（如图 5 所示）与 LCR 和 CCR 使用相同的日志传送和重播技术来提供新的部署选项和配置。在 LCR 和 CCR 中，启用 SCR 的存储组最多只能包含一个数据库。同样，如果 Exchange 组织中存在多个公用文件夹数据库，则 SCR 也无法用于公用文件夹数据库。
Figure 5 SCR is log shipping to another server or a passive node in a failover cluster
Figure 5 SCR is log shipping to another server or a passive node in a failover cluster
SCR 的一个主要区别在于它支持每个存储组使用多个目标，而 LCR 和 CCR 均仅支持一个目标（被动副本）。另一个主要区别是您无法备份 SCR 副本，这与 CCR 和 LCR 不同。使用 SCR 时，如果针对 SCR 源存储组执行受支持的备份（在 CCR 和 LCR 中，则是针对 SCR 源存储组的主动副本或被动副本执行备份操作），则会更新 SCR 目标的数据库标题并截断日志文件。
与 LCR 和 CCR 一样，SCR 的日志传送是连续的并使用一种“拉”模型。新的日志文件关闭并使用下一代日志文件序列号命名后，SCR 目标计算机上运行的 Microsoft Exchange 复制服务就会从 SCR 源计算机中拉出已关闭的事务日志文件，检查并验证这些文件，然后将其移动到 SCR 目标计算机上对应的存储组日志文件文件夹。

重播延迟时间
将日志文件复制到 SCR 目标计算机后，SCR 会执行一些 LCR 和 CCR 不执行的操作。SCR 不会立即将日志文件重播到数据库副本，而是强制实施 50 个日志文件的内置重播延迟外加 24 小时。SCR 还允许您在这些内置延迟以外指定附加的时间延迟。延迟重播活动在很多情况下都非常有用。例如，在活动数据库出现逻辑损坏的情况下，延迟可以防止 SCR 目标数据库出现逻辑损坏。
管理员控制的重播延迟使用参数 ReplayLagTime 进行设置，该参数指示 Exchange 复制服务在重播已复制到 SCR 目标计算机的日志文件前应等待的时间量。格式为 Days.Hours:Minutes:Seconds，默认值为 24 小时。该值最大可设置为 7 天，最小可设置为 0 秒，将该值设置为 0 秒可有效消除日志重播活动中除默认延迟 50 个日志文件之外的任何延迟。
除 ReplayLagTime 外，Exchange 还具有 50 个日志文件的内置硬编码延迟，与 ReplayLagTime 的值设置无关。为了确定重播日志文件的时间，Exchange 使用较大的 ReplayLagTime 值或 x 个日志文件，其中 x=50。上述设置针对需要为某个存储组重新设定种子的情形提供了一层额外的保护，即如果使用连续复制的 SCR 源（例如 CCR 环境中的群集邮箱服务器）遇到故障转移，并且需要使用 Restore-StorageGroupCopy cmdlet 使一个或多个存储组联机。（种子设定的过程是：使用可扩展存储引擎 (ESE) 流备份 API 为 SCR 目标计算机上的 SCR 源数据库制作联机副本。）通过延迟 SCR 目标上的重播活动，当 SCR 源的故障转移遭受损失时，需要为 SCR 副本重新设定种子的概率会降至最低，因为 SCR 源上数据丢失本身的特点可及时将两个副本紧密联系在一起。

截断延迟时间
在 Exchange 2007 的 RTM 版本中，会在连续复制环境中强制执行一些规则，这样日志文件在得到备份并重播到数据库前不会被删除。使用 SCR 时，此规则做了一些改动。SCR（引入了多个数据库副本的概念）允许在所有 SCR 目标计算机检测完日志文件后，立即在 SCR 源计算机上截断日志文件。SCR 源服务器上的日志截断不会等待所有日志都重播到所有 SCR 目标后才执行，因为 SCR 目标副本的日志重播延迟时间可以配置为很大的值。
您还可以使用名为 TruncationLagTime 的新参数为日志截断添加额外延迟，该参数指定在截断已复制到 SCR 目标计算机并重播到数据库副本的日志文件前，Exchange 复制服务应等待的时间（格式为 Days.Hours:Minutes:Seconds）。该时间段在日志文件成功重播到数据库副本后立即开始计算。该值最大可设置为 7 天，最小可设置为 0 秒，后者会有效消除日志截断活动中的任何延迟。
在 SCR 环境中，每三分钟运行一次后台线程，以确定是否存在需要截断的日志文件。如果日志文件生成顺序低于存储组的日志文件检查点，并且日志文件的存在时间早于 ReplayLagTime + TruncationLagTime，则会截断 SCR 目标上的日志文件。
在使用 SCR 扩展的 LCR 或 CCR 环境中，如果满足以下四个条件，则会截断 SCR 目标上的日志文件：日志文件已备份，日志文件生成顺序低于存储组的日志文件检查点，存储组的被动副本处于允许截断日志文件的状态，并且所有 SCR 目标均已对日志文件进行检测。

启用和管理 SCR
在 Exchange 命令行管理程序中，使用 Enable-StorageGroupCopy cmdlet（在 SP1 中已使用一些新参数进行了更新）启用 SCR。如前文所述，您可以使用 ReplayLagTime 和 TruncationLagTime 控制某些 SCR 目标行为。另一参数 SeedingPostponed 可用于跳过 SCR 目标的初始种子设定。延迟种子设定在很多情况下也很有用。例如，假定存储组中要为 SCR 启用的数据库为 100GB。在生产高峰期间，您可能不希望 100GB 的数据都来遍历网络。此时，您可以通过 SeedingPostponed 参数立即启用 SCR，而在稍后执行种子设定任务。准备好后，即可使用 Update-StorageGroupCopy cmdlet 手动为 SCR 目标设定种子。
尽管前面提到的参数是可选的，但 Enable-StorageGroupCopy 是 SCR:StandbyMachine 的必选参数。该参数用于指定将包含 SCR 目标的计算机名。该参数的值作为为 SCR 启用的存储组的 msExchStandbyCopyMachines 属性值的一部分进行设置。MsExchStandbyCopyMachines 属性是一个多值 Unicode 字符串。当 Exchange 组织引入 Exchange 2007 SP1 时，该字符串被添加到 Active Directory 架构，这是 SP1 要求为 Active Directory 更新架构的原因之一。
StandbyMachine 参数是 SCR 的核心，SP1 已为使用该参数启用和管理 SCR 目标而更新了多个 cmdlet。更新后的 cmdlet 如图 6 所示。
Figure 6 Cmdlets that use the StandbyMachine parameter (Close Figure 6)

Cmdlet | 说明
Disable-StorageGroupCopy | 禁用存储组的 SCR 目标。
Get-StorageGroupCopyStatus | 确定 SCR 目标的当前运行状况。
New-StorageGroup | 新建启用 SCR 的存储组，无需使用 Enable-StorageGroupCopy cmdlet 单独启用 SCR。
Restore-StorageGroupCopy | 禁用 SCR 并在恢复过程中通过 Mount-Database 操作使 SCR 目标数据库可用于装载。
Resume-StorageGroupCopy | 用于使已挂起 SCR 的存储组继续进行连续复制。
Suspend-StorageGroupCopy | 对启用 SCR 的存储组挂起连续复制活动。
Update-StorageGroupCopy | 用于为 SCR 目标存储组设定或重新设定种子。

激活 SCR 目标
SCR 提供了一个或多个最新数据副本，如果原始数据丢失或不可用，则可使用这些副本。获取 SCR 目标副本并将其重新设置为生产数据库的过程称为激活。激活是恢复过程的一部分，采用的形式为数据库可移植性或两个设置恢复选项之一（/m:RecoverServer 用来恢复独立的服务器，/RecoverCMS 用来恢复群集邮箱服务器）。

如何使用 SCR
让我们虚构一个公司，看一下如何使用 SCR 和数据库可移植性从邮箱数据库故障中进行恢复。发现生产数据库受到损坏后，管理员将使用数据库可移植性激活 SCR 目标数据库。
组织已部署 Exchange 2007 和 SP1 并决定利用 SCR 提供远程邮箱服务器上某个存储组的副本。源邮箱服务器和目标邮箱服务器位于同一个 Active Directory 站点，并配置为使用与 Active Directory 集成的 DNS 服务器。Active Directory 复制间隔配置为 15 分钟。

启用 SCR 和暂存恢复
配置 SCR，以便为单个存储组 SG1（包含一个数据库 MBX1）复制事务日志文件。存储组文件和数据库文件的路径分别为 C:\SG1 和 C:\SG1\MBX1.EDB。此时，EXMBX1 为 SCR 源，EXMBX2 为 SCR 目标。按照如下所示进行配置：
Enable-StorageGroupCopy EXMBX1\SG1 -StandbyMachine EXMBX2
启用 SCR 后，使用 Get-StorageGroupCopyStatus cmdlet 验证 SG1 的 SCR 运行状况和状态：
Get-StorageGroupCopyStatus EXMBX1\SG1 -StandbyMachine EXMBX2
为节省 SCR 目标激活过程的时间，可为 EXMBX2 预配置存储组 SG1PORT 和数据库 MBX1PORT，在数据库可移植性操作中会用到。SG1PORT 和 MBX1PORT 与 SCR 目标的存储组和数据库文件是相互独立的。因此，应为 SG1PORT 和 MBX1PORT 配置与 SCR 目标路径不冲突的临时路径。SG1PORT 和 MBX1PORT 仅用作数据库可移植性对象；无需提供 SG1PORT 的实际存储组和数据库文件。因此，管理员可卸载 MBX1PORT 并删除存储组中的所有文件。存储组和数据库对象保留在 Active Directory 中，因为在稍后的恢复过程中，它们将用于数据库可移植性。

激活和恢复
某个应用程序事件日志条目指示 SCR 源数据库已出现物理损坏。由于已为 SG1 启用了 SCR，所以决定为 SG1 手动激活 SCR 目标数据库，并使用数据库可移植性恢复数据可用性。要激活 SCR 目标副本，应首先使用以下 cmdlet 卸载 SG1 中的 MBX1：
Dismount-Database EXMBX1\SG1\MBX1
然后，使 SCR 目标数据库可用于装载，而原来在 MBX1 上的邮箱将被重新连接到 MBX1PORT。
禁用 SCR 并使 SCR 目标数据库可用于装载的过程需要运行 Restore-StorageGroupCopy cmdlet。此任务将存储组的数据库标记为可装载，并提供关于在存储组中装载数据库可能会导致数据丢失的报告（如果有）。该任务还会验证存储组主动副本生成的所有日志文件是否都位于存储组被动副本的存储组文件位置。如果丢失了任何日志文件，该操作还会尝试复制它们。以下 cmdlet 用于使 SCR 目标数据库可用于装载：
Restore-StorageGroupCopy EXMBX1\SG1 -StandbyMachine EXMBX2
在本例中，SCR 源存储组的日志文件可用于复制。如果这些文件不可用（例如，因为 SCR 源计算机处于关机状态），则必须将 Force 参数添加到 Restore-StorageGroupCopy 任务。否则，Restore-StorageGroupCopy 将一直尝试连接到 SCR 源以复制所有丢失的日志文件；如果 SCR 源不可用，则 Restore-StorageGroupCopy 任务将失败，数据库将不能用于装载。添加 Force 参数，向 Restore-StorageGroupCopy 任务告知源文件不可用，此时将跳过连接尝试，继续前进使 SCR 目标数据库可用于装载。
完成 Restore-StorageGroupCopy 命令后，管理员必须验证数据库是否处于干净关闭状态。如果数据库处于异常关闭状态（请参阅technet.microsoft.com/aa996757.aspx），则必须使其处于干净关闭状态。如果 SCR 源 (EXMBX1\SG1) 的存储组与将用于数据库可移植性 (EXMBX2\SG1PORT) 的 SCR 目标 (SG1PORT) 的存储组的日志文件前缀（例如，E00 或 E01）相同，则无需在恢复模式下运行 Eseutil，并且最后的数据库装入操作会在重播完复制的所有日志文件后使数据库处于干净关闭状态。如果数据库未处于干净关闭状态，则必须对数据库运行 Exchange Server 数据库实用程序 (Eseutil) 恢复模式 (Eseutil /r)。
数据库处于干净关闭状态后，就可以运行两个命令，用存储组文件和数据库文件的新位置来更新 Active Directory。这些命令将 SG1PORT 和 MBX1 的原始路径更改为暂存存储组和数据库（SG1PORT 和 MBX1PORT）的路径：
Move-StorageGroupPath EXMBX2\SG1PORT -SystemFolderPath C:\SG1 -LogFolderPath C:\SG1 –ConfigurationOnly

Move-DatabasePath EXMBX2\SG1PORT\MBX1PORT -EdbFilePath C:\SG1\MBX1PORT.EDB –ConfigurationOnly
上述命令中必须包括 –ConfigurationOnly 参数，以便在 Active Directory 中仅更新这些对象的配置设置。该命令不会移动任何数据或文件，也无需这样做，因为 SCR 已将数据复制到了 EXMBX2 上的 C:\SG1。
下一步是配置数据库 (MBX1PORT) 以允许它在还原操作过程中被覆盖。您可以通过两种方式完成此操作：一种是在 Exchange 管理控制台中，选中数据库对象属性上的“还原时可以覆盖此数据库”设置的复选框；另一种是在 Exchange 命令行管理程序中使用以下命令：
Set-MailboxDatabase EXMBX2\SG1PORT\MBX1PORT -AllowFileRestore:$true
将数据库配置为允许覆盖自己后，接下来要使用以下命令装载该数据库：
Mount-Database EXMBX2\SG1PORT\MBX1PORT
装载数据库后，必须重新连接 SCR 源数据库 (SG1\MBX1) 上驻留的邮箱，使其指向 EXMBX2 上的 MBX1PORT。只需运行 Get-Mailbox cmdlet，并将输出通过管道传输到 Move-Mailbox cmdlet 即可。在此过程中，通过管道传输到 Move-Mailbox cmdlet 的 Get-Mailbox cmdlet 输出中不包含 Exchange 系统助理和系统邮箱，这一点很重要。无需重新连接这些邮箱对象，也不应重新连接。运行以下命令以重新连接所有用户邮箱，并排除系统邮箱：
Get-Mailbox -Database EXMBX1\SG1\MBX1 |where {$_.ObjectClass -NotMatch '(SystemAttendantMailbox| ExOleDbSystemMailbox)'}|Move-Mailbox-ConfigurationOnly -TargetDatabase EXMBX2\SG1PORT\MBX1PORT
现在，客户端可以访问 MBX1PORT 了。不过，在将邮箱从 EXMBX1\SG1\MBX1 移动到 EXMBX2\SG1PORT\MBX1PORT 后，用户是否能够真正访问其邮箱要取决于 Active Directory 复制延迟；也就是说，取决于目录服务器的数目，因为将更新应用于整个环境可能需要一段时间。此外，客户端访问方法也很重要。在使用新路径更新用户的客户端服务器使用的目录服务器后，运行 Outlook 2007 的消息客户端和非 Outlook 客户端都可以访问用户的邮箱。运行 Outlook 2003 和早期版本的消息客户端需要使用新服务器名更新用户的桌面消息配置文件。

最后步骤
在客户端都能够访问其邮箱和邮箱数据后，最后一步是重新启用 SCR 以建立冗余。删除 EXMBX1 中剩余的所有存储组和数据库文件，即可完成此操作。删除这些文件后，可将 EXMBX1\SG1\MBX1 的路径移动到临时位置，而 EXMBX1 即成为 EXMBX2 的 SCR 目标。

Scott Schnoll 是 Microsoft 的 Exchange Server 团队的一名主要技术撰稿人，负责撰写有关 Exchange Server 2007 的内容。在加入 Microsoft 之前，Scott 撰写过“Exchange Server 2003 精华本 (Addison-Wesley Professional, 2004)”，他也是“Exchange 2000 Server：从入门到精通 (McGraw-Hill/OsborneMedia, 2001)”的主要作者。


 通信: 在 Windows Server 2008 上运行 Exchange
通信 Paul Bowden

在 Windows Server 2008 上运行 Exchange
概览:
  • 在 Windows Server 2008 上安装 Exchange
  • 配置提示和技巧
  • 了解 Exchange 环境

在 Microsoft 的 Exchange 开发团队中，我负责为团队工作制定计划、工作进度以及先后次序。在 Microsoft 内部，这种角色称为发布经理，在其他公司，大概是称这一角色为技术项目经理。从事过这种工作的人都知道，
只有知识丰富、技术过硬、工作努力并且享有威望的团队才能按时交付优质的产品。与此类精英团队合作，您不会在一夜之间赢得信任，必须通过勤勤恳恳的工作慢慢积累。
有一种方法可以证明您的勇气，即在“dogfood”服务器（运行 Exchange 预发布版本的生产服务器）上运行邮箱。这是一个不稳定的环境，每隔两到三周就会升级到新的 Exchange 版本。通过此类安装，我们可以在包含与真人交互活动的现实环境中测试软件。我们甚至会在最新的测试版上运行邮箱。我曾参与上述活动，下面就是我的故事。

为“Longhorn”做好准备
2006 年末我们刚发布 Exchange Server 2007 后，一种新的操作系统也横空出世 — 代号为“Longhorn”的 Windows Server®。当我们齐心协力开始计划新 Exchange 平台的第一个 Service Pack 后，很快发现 Exchange 计划和 Windows® 计划的成长道路十分类似，而且“Longhorn”（现在称为 Windows Server 2008）已越来越强大。也就是在那个时候，我们决定同时针对 Windows Server 2003 和 Windows Server 2008 设计 Exchange Server 2007 SP1。要在多个 Windows 版本上支持同一企业应用程序，需要进行大量的协调和规划。例如，Exchange 与 IIS 密切合作，而 Windows Server 2008 中包含了一个新版本 IIS 7.0。
我记得在实验室首次安装 Windows Server 2008 是在 2006 年 12 月下旬。那天有两点让我印象非常深刻：第一，安装速度相当快；第二，虽然 Windows Server 2008 的管理工具与 Windows Server 2003 有很大差别，但用起来很直观。
在我们的主实验室中，安装 Windows Server 2008 所需的时间大概是安装 Windows Server 2003 所需时间的三分之一。出现这种情况的原因之一，就是安装 Windows Server 2008 时并未配置既有组件以外的可选组件，这些可选组件不是运行操作系统所必需的。这有助于减小对计算机的攻击面并尽可能简化各事物。没有人喜欢不必要的混乱。此类安装的典型缺点是，每次要添加其他组件时，都必须插入磁盘。但使用 Windows Server 2008 时，所有文件都会被复制到 SxS 文件夹（发音时，按字母逐个读出即可）。然后，您可使用服务器管理工具配置所需组件，操作系统会为您计算出要复制的文件。
在这儿我要提一下 Server Core。Server Core 是 Windows Server 2008 的一种模式，在此模式下可安装绝对原始最低的操作系统。在此模式下，通常通过命令提示符与服务器控制台交互，甚至不用安装资源管理器。此模式非常适合于基础结构服务器，如域控制器和 DNS 服务器。但是，在此模式下无法运行所有类型的应用程序。Exchange 广泛使用托管代码，这使它不支持 Server Core 安装。

设置 Exchange
我酷爱使用物理 Windows Server 2008 和 Exchange Server 2007 SP1 媒体从头开始安装计算机，不用进行任何其他下载或考虑是否满足先决条件。为 Exchange 配置 Windows Server 2008 安装的最佳方法是使用 ServerManagerCmd 工具。我已制作了一个 XML 应答文件，如图 1 所示，此文件仅安装足够的操作系统组件，以允许在 Windows Server 2008 上安装并运行 Exchange。安装好新操作系统后，只需运行以下命令即可设置该系统：
Figure 1 ServerManagerCmd answer file for Exchange (Close Figure 1)
<!-- 与 Windows Server 2008 兼容的 ServerManagerCmd 应答文件        --> <!-- 使用：ServerManagerCmd -ip Exchange.xml                                -->

<ServerManagerConfiguration Action="Install" xmlns="http://schemas.microsoft.com/sdm/Windows/ServerManager/Configuration/2007/1">

    <!-- BASE：安装 PowerShell 1.0 功能 --> <Feature Id="PowerShell"/>

    <!-- PREPARESCHEMA：安装 LDIFDE 及其他目录工具，如 LDP 和 ADSIEdit --> <Feature Id="RSAT-ADDS"/>

    <!-- CAS/MBX：安装具有其他子组件的 Web 服务器角色 --> <Role Id="Web-Server"/> <RoleService Id="Web-Metabase"/> <RoleService Id="Web-Lgcy-Mgmt-Console"/> <RoleService Id="Web-Basic-Auth"/> <RoleService Id="Web-Windows-Auth"/>

    <!-- CAS：为 OWA、GZip 压缩以及 Outlook Anywhere 支持安装三种身份验证类型 --> <RoleService Id="Web-ISAPI-Ext"/> <RoleService Id="Web-Digest-Auth"/> <RoleService Id="Web-Dyn-Compression"/> <Feature Id="RPC-over-HTTP-proxy"/>

    <!-- EDGE：安装 Active Directory 轻型目录服务（以前称为 ADAM）--> <Role Id="ADLDS"/>

    <!-- UM：安装 Windows Media Player 组件 --> <Feature Id="Desktop-Experience"/>

</ServerManagerConfiguration>

ServerManagerCmd –ip Exchange.xml
完成上述设置并重新启动系统后，就已具备了安装 Exchange 角色（如邮箱、客户端访问、集线器传输、边缘传输和统一消息）所需的一切条件。
另一个有用的技巧是使用具有 –query 开关的 ServerManagerCmd。这样，就会列出角色和服务的总列表，并显示实际配置哪些项（在图 2 中以绿色文本标出）。
Figure 2 Enumerating Exchange roles and services
Figure 2 Enumerating Exchange roles and services
现在，书归正传。2007 年前几个月我们一直在实验室中度过，尝试进行一些更改以在 Windows Server 2008 上获得优良性能。如果说学到了什么，那就是：您可以在实验室中持续安装软件并对软件进行压力测试，直到精疲力尽为止，但质量的真正衡量尺度是真实的实际用户所执行的真实、实时部署。这也正是我们“dogfood”自己产品的原因 — 以现实、日常、完成目标的使用为前提进行测试。2007 年 4 月 Windows Server 2008 Beta 3 的发布是一个转折点 — 已经可以利用此产品并将其部署到生产中了。
在 Windows Server 2008 上部署第一组 Exchange 服务器时，我坐在那儿，越过操作组成员的肩膀看到 Exchange 安装进行得非常顺利，所有服务均已启动。我们现在要做的就是移动邮箱，并确定该邮箱是否能够正常运行。我主动要求完成这项任务。我使用了一个 2GB 的邮箱，26 分钟后便开始正常运行，已能够使用 Exchange 在 Windows Server 2008 上发送电子邮件了。成功了！

经验教训
自从首次在 Windows Server 2008 上进行安装以来，我们一直在进行微调，以确保已真正为实现最佳状态做好了准备。这途中，我们确实必须做出一些关键部署决策。
安装 您可以将 Exchange Server 2007 SP1 用作原始 Exchange Server 2007 安装的升级版本 — 我称之为 Exchange 2007 RTM（预发布版本），也可以在新计算机上直接使用 Exchange Server 2007 SP1 媒体进行安装。这一点非常重要，因为您无法在运行 Windows Server 2008 的计算机上安装 Exchange Server 2007 RTM。
升级 尽管可以将 Windows Server 2003 SP2 操作系统就地升级到 Windows Server 2008，但仍需要首先卸载某些组件。其中之一就是 Windows PowerShell™。它是 Exchange 管理的核心；甚至 Exchange 安装也基于 Windows PowerShell。因此，如果已经安装了 Exchange，我们就无法支持操作系统的就地升级。对于大多数用户来说，这通常意味着用户将希望在新的计算机上安装 Windows Server 2008，然后安装 Exchange Server 2007 SP1。
IPv6 Exchange 旨在利用 Windows Server 2008 中的多项新功能。例如，默认情况下会安装 IPv6，而在新操作系统上运行的两台 Exchange 服务器会自动使用 IPv6 相互通信。Exchange 管理控制台中的界面也接受 IPv6 地址范围。有一点需要注意：Exchange 仍要求每个网络接口绑定 IPv4 地址。
只读域控制器 对 Active Directory® 部署做了一项算得上彻底的改动，就是更改了只读域控制器（或全局编录服务器）的概念。更改此概念后，公司可部署能接收单向复制但无法回退复制更改的 Active Directory 服务器。这在无法保证物理安全的分公司或远程办公环境中非常有用。遗憾的是，Exchange Server 2007 SP1 无法使用只读域控制器，并且需要对 Active Directory 的常规可写分区具有访问权限。

Exchange 环境
Exchange 和 Windows Server 资源
  • Windows Server 2008 技术中心
  • Exchange Server 技术中心
  • TechNet 评估中心
  • Windows Server 2008 虚拟实验室

需要为部署选择操作系统级别时，您可以灵活运行各种配置，如图 3 所示。
Figure 3 Exchange environment matrix (Close Figure 3)

Exchange 版本 | 服务器操作系统 | 域控制器
Exchange Server 2007 SP1 | Windows Server 2008 | Windows Server 2008
Exchange Server 2007 SP1 | Windows Server 2008 | Windows Server 2003
Exchange Server 2007 SP1 | Windows Server 2003 SP2 | Windows Server 2008
Exchange Server 2007 SP1 | Windows Server 2003 SP2 | Windows Server 2003
另外一种考虑是混合版本的部署。不错，您可以混合使用 Exchange 和 Windows 的各个版本，实现彼此之间的互操作。例如，您可以在用于客户端访问服务器的 Windows Server 2008 上部署 Exchange Server 2007 SP1，使这些客户端访问服务器能够访问 Windows Server 2003 邮箱服务器上的 Exchange Server 2007 RTM。
请注意，早期版本的 Exchange 与 Windows Server 2008 Active Directory 之间有一些细微差别。如果您拥有 Exchange Server 2003 SP2 和更高版本，则可以在您的环境中部署和使用 Windows Server 2008 域控制器。但是，如果您还部署了 Exchange 2000，您可能希望在 Exchange 服务器所在的 Active Directory 站点中拖延部署 Windows Server 2008 域控制器，也可能希望对 Directory Service Access (DSAccess) 设置进行硬编码，以便 Exchange 2000 不会尝试使用 Windows Server 2008 域控制器。

结束语
为使 Exchange 2007 SP1 在 Windows Server 2003 平台和 Windows Server 2008 平台上都能够正常运行，我们投入了大量精力。在 Exchange 中，我们一直为提供灵活的部署和更佳的组合方案而努力。我想，您一定会为能够在 Windows Server 2008 上轻松快捷地部署 Exchange 而惊喜。您还会发现一些细微的内部性能和可伸缩性的改进，如 Outlook Anywhere 客户端的各种高级客户端访问服务器的伸缩性。
Windows Server 2008 为今后在消息传送空间的创新提供了平台，不会令您失望的。

Paul Bowden 是 Exchange Server 团队的首席项目经理。他的大部分空闲时间都花在应请求重新确认其 PayPal 帐户信息上。


 通信: 使用 Exchange Server 2007 部署统一消息
通信 Jeff Goodwin

使用 Exchange Server 2007 部署统一消息
概览:
  • 电话技术基础
  • 统一消息设计注意事项
  • 迁移用户

假设您已决定要在您的环境中部署 Exchange Server 2007 统一消息。您已安装了统一消息服务器角色，并已将其与现有的 PBX 集成。现在，您和另外 10 位员工将语音邮件、电子邮件和传真消息存储在 Exchange 中。完成后，您
可能觉得这已是一项重要成就。但是，您如何在不影响业务运营的前提下，跨多个站点为数千名订阅者部署同样的功能呢？
我希望本文会对您有所帮助。本文旨在帮助您了解如何在您的环境中部署统一消息，并阐明与此类部署相关的电话概念。如果您需要有关 Exchange Server 2007 统一消息的安装、配置或功能方面的帮助，请参阅本文末尾的“统一消息资源”边栏。此外，Microsoft 已经确定了一些公司作为统一消息专家，协助客户解决有关 Exchange Server 2007 统一消息的咨询、设计和部署问题。这些专家也已在边栏中列出，如果需要安装、配置或部署方面的帮助，请联系他们。

入门
统一消息技术对于 Exchange 而言并非是新技术；许多组织都提供与 Exchange 集成的统一消息产品。但是，这是第一个本身支持统一消息的 Exchange 版本。此版本问世后，许多客户都在其组织内部的小组中部署了 Exchange Server 2007 统一消息。但是，由于种种原因，这些客户并不总是对其所有用户部署统一消息。其中的一个问题是，许多 Exchange 管理员不熟悉实现统一消息服务所需的电话概念与技术，在其企业内部设计和部署这些解决方案让他们苦恼不已。
与所有的部署项目一样，分阶段部署通常可以得到最佳结果。规划体系结构、测试解决方案、试验用户群体、培训和将用户迁移到新系统这五个阶段，涵盖了统一消息项目需要考虑的方方面面。计划项目时，关键是要将 IT 组和电信组同时包含在组织中。
必须复制用户在传统的语音邮件平台上应具备的许多功能，如果无法进行复制，则应设计一个替代解决方案，以降低实现新系统时对用户群体的影响。此部分非常关键，必须由电信小组协助完成。同时，电信小组还需要从 IT 团队了解在进行部署时如何管理、支持新语音邮件平台及进行故障排除。

电话技术基础
了解基础体系结构、呼叫流以及与统一消息相关的一些术语后，就会觉得进行规划要容易得多了。图 1 展示了一个集成到现有公司电话系统中的统一消息解决方案示例。现在，让我们来详细了解一下在进行此类部署时可能遇到的一些最常见的概念和技术。
Figure 1 A PBX-to-Unified Messaging solution
Figure 1 A PBX-to-Unified Messaging solution
专用交换分机 (PBX) 是企业内部使用的专用电话网络。在此类系统上，通常每位用户都拥有一部连接到 PBX 的桌面电话，以便内部用户之间通过拨打分机号码（通常是四位或五位数字）向对方发出呼叫，以及拨打外部电话。
如果企业客户拥有多个 PBX 位置，有时会决定使用 PBX 供应商专有的联网技术将这些系统连接在一起。这样，联网的 PBX 上的所有用户只需拨打分机号码即可相互发出呼叫。
统一消息涉及以下两个不同系统的集成：Exchange 邮件系统和物理电话系统。统一消息服务器和电话体系结构之间的通信是使用会话初始协议 (SIP) 完成的。某些 PBX 技术可以通过 SIP 直接与统一消息服务器通信，另外一些技术则需要 SIP 网关。在图 1 中，PBX 是通过 T1 线路连接到 SIP 网关的。当某个呼叫被转发到统一消息时，PBX 会向 SIP 网关发送信息（呼叫方电话号码、被叫方电话号码及某种类型的原因代码），以使统一消息服务器知道被叫方是谁。
某些 PBX 可通过 IP 网络联在一起。电话网络可通过 IP 网络将呼叫重定向到集中式语音邮件解决方案。例如，如果您看过图 2，会注意到苏黎世已被连接回伦敦。
Figure 2 A more complex Unified Messaging deployment
Figure 2 A more complex Unified Messaging deployment

呼叫流
统一消息资源
  • 统一消息专家目录
  • Exchange 统一消息技术中心
  • 支持的 SIP 网关
  • 电话顾问
  • PBX 配置说明

假设外部呼叫者拨打了某位统一消息订阅者的电话。此时，该统一消息订阅者不在办公室，故无人接听电话。您可以参考图 1 中的消息路径。
PBX 将呼叫发送至 SIP 网关，此网关将通过基于 TCP 的 SIP 与统一消息服务器协商该呼叫。服务器将收到来自 SIP 网关的用以指明被叫方的集成数据。然后，统一消息服务器将播放此订阅者的问候语，并允许外部呼叫者录制留言。接着，此留言被传送到此统一消息订阅者的 Exchange 邮箱。
此呼叫流是对这种情况的一种经过大幅简化的描述。重要的是了解当录制留言时，统一消息服务器会通过 SMTP 将留言转发到集线器传输服务器，以便将留言传送到邮箱服务器。
现在，作为统一消息订阅者，用户已能够通过电话（使用 Outlook® Voice Access）或计算机（使用 Outlook 2007 或 Outlook Web Access）访问其 Exchange 邮箱。不过，通过 Outlook 2007 或 Outlook Web Access 的“在电话上播放”功能，订阅者还能够使用电话访问留言；利用此功能，订阅者可使统一消息通过拨打指定电话来播放所选消息，而不是通过计算机访问所选消息。使用此方法时，统一消息服务器将同时与客户端访问服务器和邮箱服务器进行交互。了解这一点很重要，因为如果您将统一消息服务器置于没有本地客户端访问服务器的远程办公室中，统一消息服务器就需要通过 WAN 连接到客户端访问服务器，而这将导致性能降低。

系统设计
客户的核心 Exchange 体系结构设计分为以下两种：集中式或非集中式。通常，统一消息体系结构遵循 Exchange 体系结构，这意味着无论您在哪里部署邮箱服务器，都会在该位置部署统一消息服务器。当然，任何规则都有例外。
设计统一消息体系结构时，必须注意五个基本方面。
  • 服务器位置
  • 统一消息服务器的数量
  • SIP 网关
  • 邮箱存储
  • 统一消息站点配置
此外，不能忽略业务连续性。通常，与 Exchange 相关的灾难恢复计划可用于确定统一消息的相关元素。
部署方案示例可帮助您了解统一消息服务器角色。图 2 清楚地展示了具有统一消息功能的 Exchange Server 2007 的大型企业部署情况。
在这个较复杂的设计中，主数据中心在西雅图和伦敦。位于这两个位置的统一消息服务器为各自的用户群体服务，这是因为邮箱服务器和集线器传输服务器均在本地。这两个站点都具有 IP PBX，可提供本地统一消息服务器进行呼叫应答的呼叫范围。
中型站点位于纽约和格拉斯哥。位于这两个位置的统一消息服务器为各自的用户群体服务，这是因为邮箱服务器和集线器传输服务器均在本地。与主数据中心相同，这两个站点也具有 IP PBX，可提供本地统一消息服务器进行呼叫应答的呼叫范围。
较小的站点没有本地邮箱服务器或集线器传输服务器，但能够通过主数据中心提供统一消息功能。奥斯汀有一个 NEC PBX，它使用模拟连接与本地 SIP 网关连接。对本地最终用户的呼叫将被转发到 SIP 网关，此网关将与西雅图的统一消息服务器协商，以便在统一消息上提供呼叫应答。
苏黎世设有通过 IP 网络与伦敦的 Avaya 通信管理器联网的 Avaya 通信管理器。对本地用户的呼叫将通过 Avaya 通信管理器网络转发，此网络将与伦敦的统一消息服务器协商，以便在统一消息上提供呼叫应答。
在此示例中，西雅图站点在同一物理位置上设有 Exchange 邮箱服务器和统一消息服务器。当处理单一站点体系结构时，所有服务器（邮箱服务器、统一消息服务器、客户端访问服务器等）和 PBX 设备都包含在同一站点内。对于具有多个站点的公司，设计起来会比较复杂。这种复杂性看似令人生畏，但只要正确理解了统一消息的一些基本原理，还是可以解决的。
如图 2 所示，如果某站点中包含邮箱服务器，则建议也在此站点设置统一消息服务器。西雅图、伦敦、纽约及格拉斯哥都符合这种设计。奥斯汀和苏黎世在本地都没有邮箱服务器，但借助于 IP 网络，仍可以为这些位置提供统一消息服务。奥斯汀设有本地模拟 PBX。在这种情况下，必须使用 SIP 网关提供与西雅图的统一消息服务器的 IP 网络连接。苏黎世设有通过网络连接到伦敦 PBX 的本地 IP PBX。因此，对苏黎世用户的呼叫会通过电话网络传回到伦敦 PBX 和统一消息服务器。
由于对苏黎世订阅者的呼叫会穿越网络，然后由伦敦的集中式统一消息系统处理，所以如果网络中断，则在网络修复前，对苏黎世所有订阅者的呼叫都将没有应答。如果发生网络中断事件时需要保持本地网络通信正常工作，则应在苏黎世设置一台统一消息服务器。网络中断期间，统一消息服务器将继续应答呼叫，并在网络修复后传送这些呼叫。
设计适合您环境的体系结构时，服务器位置可能是最重要的考虑因素。图 3 中的流程图可帮助您确定适当的服务器位置。
Figure 3 Determining server placement
Figure 3 Determining server placement

估计服务器需求数量
需要考虑的下一个方面是您需要多少台统一消息服务器来支持用户群体。需要的数量实际上取决于该站点的具体因素。
统一消息的可伸缩性取决于服务器可支持的并发呼叫（在电话领域称为端口）数量。传入系统的每个呼叫都需要统一消息服务器提供网络、CPU、内存和磁盘资源。通过增加这些资源，统一消息服务器可以支持更多的并发呼叫。由于此类资源总是有限的，因此统一消息服务器只能处理一定数量的并发呼叫，否则会导致资源耗尽。
您可以通过 Erlang 流量分析计算来确定支持特定数量的订阅者所需的端口数，在此不作详细介绍。确定所需端口数的简单方法是直接询问电话管理员现有语音邮件系统上正在使用的语音邮件端口数量。根据现场经验，传统的语音邮件系统和统一语音邮件系统对端口的要求应该是非常类似的。
通常情况下，建议您在单一服务器上实现的端口数不要超过 60 个。这与软件或硬件限制无关，而是因为具有 60 个端口的单一服务器可支持近 5000 个用户。如果此单一服务器出现中断，就会使单一服务器故障波及整个（非常大）订阅者群体。
当实现统一消息服务器时，您可以考虑在体系结构中设计 N+1 冗余配置。图 4 显示了一个完全冗余的服务器和 SIP 网关设计。使用此设计，如果统一消息服务器 1 出现中断，来自 SIP 网关 1 的呼叫将自动与统一消息服务器 2 协商呼叫。您也可以对 PBX 进行编程设计，以在各个 SIP 网关之间平均分配呼叫负荷。例如，传入系统的第一个呼叫被路由到 SIP 网关 1，而下一个呼叫被路由到 SIP 网关 2。在各网关之间交替的呼叫可在统一消息服务器之间提供平均呼叫分配和共享负载。
Figure 4 Distributing calls between servers for redundancy
Figure 4 Distributing calls between servers for redundancy
目前，Exchange Server 2007 统一消息解决方案支持以下两个 SIP 网关提供程序：AudioCodes 和 Dialogic。如果您的设计中需要 SIP 网关，请确保购买的网关支持设计所需的会话（端口）数量。例如，如果设计需要 32 个端口，就需要购买至少支持此会话数目的网关。
如果不清楚您的 PBX 是否适用于统一消息，或者不知道应使用哪种网关，请查看“统一消息资源”边栏。该边栏列出了 Mcrosoft 特定指南的链接，还列出了统一消息专家目录的链接，这些专家可帮助您评估组织的特定需求。根据我的个人经验，此边栏列出的 PBX 几乎都能与 SIP 网关和 Exchange 统一消息一起使用，并且部分 PBX 自身还可使用基于 TCP 的 SIP 与统一消息服务器通信。
Exchange 统一消息支持使用以下三种音频编码解码器来存储语音邮件：G.711 PCM Linear、GSM 06.10 和 Windows Media® Audio (WMA)。每个 PCM Linear WAV 文件中每秒的音频大约占用 16 KB。WMA 是统一消息的默认音频编码解码器，它将每秒的音频压缩到 1.1 kb，标头占 7 KB。GSM 06.10 将每秒的音频压缩到 1.6 kb，但它的标头比 WMA 编码的标头小。
WMA 和 GSM 06.10 编码提供的语音邮件的语音质量都可以接受。根据使用 WMA 或 GSM 编码解码器的现场经验，您可以根据组织对语音邮件的依赖程度将邮箱存储大小提高 10% 到 20%。
确定在环境中使用哪种音频编码解码器时，请留意最终用户可能使用的移动设备和其他操作系统。与本主题有关的大多数问题都是关于用户是否可以在其 Windows Mobile® 设备上接听语音邮件的。但其他操作系统也是一个考虑因素：您可能会大规模部署无法播放 WMA 文件的 Linux 计算机。无论是哪种情况，请记住，此类因素都将提高对服务台资源的要求，需要在培训时加以考虑。

配置与测试
无论统一消息体系结构是集中的还是分散的，在组织中部署统一消息前，都必须考虑很多语音邮件要求。“统一消息检查表”边栏详细列出了项目团队需要讨论的主题。应为要在其中部署统一消息的每个站点收集所有主题的信息。请记住，IT 小组和电信小组需要共同协作来综合考虑这些主题。
设计并配置好系统后，需要对系统进行测试以验证设计。在多站点设计中，我建议至少测试两个独立站点，以验证概念并确认设计正常工作。
应根据配置要求制定功能测试计划，然后完成计划。功能测试计划应包括订阅者访问方法（电话、Outlook 2007 和 Outlook Web Access）、管理方法以及硬件停用和网络中断。
如果测试完成，并且所有人都同意统一消息将复制旧的语音邮件系统的功能，或已设计出替代解决方案来支持无法复制的配置或功能，则应选择某个用户试验小组来测试该系统。启用试验小组将演示在实际环境中将订阅者从旧的语音邮件系统移动（电话术语叫“切换”）到统一消息所需的步骤。一般来讲，切换订阅者需要执行以下步骤：
  1. 对订阅者禁用现有语音邮件系统。
  2. 通过 Exchange 管理控制台在统一消息的 Active Directory 中启用订阅者。
  3. 将电话的覆盖路径更改为统一消息试验号码。
对订阅者禁用现有语音邮件系统至关重要，否则会将邮件发送到旧邮箱。
在试验阶段，应记录订阅者遇到的所有系统功能问题。记录这些细节可以在培训阶段解决常见问题。
要成功进行切换，培训是很关键的。用户习惯于使用特定用户界面通过电话访问语音邮件。例如，一些语音邮件系统要求用户按 5 来接听邮件。Exchange 统一消息要求用户按 1 或说“语音邮件”（或者使用 Outlook 2007 或 Outlook Web Access 来播放语音邮件）。您的统一消息订阅者培训应包含电话用户界面导航、Outlook Voice Access 导航和 Outlook/Outlook Web Access 导航。
使用 Exchange 2007 统一消息时，Outlook Voice Access 已内置了声控功能。一些用户热衷于体验系统的新功能，这种新奇感可能有助于轻松实现从一种用户界面到另一种用户界面的过渡。
Exchange 统一消息可以将自定义文本电子邮件发送到每位用户（如果这些用户已启用）。这些自定义邮件可用于提供指向常见问题 (FAQ) 的重要 Web 链接、订阅者文档以及服务台电话号码等。邮件中还可能包含有关如何访问语音邮件系统和订阅者唯一密码的信息。这是您在启用最终用户时可以利用的最强大功能之一。

迁移用户
统一消息检查表
以下部分定义了统一消息系统的一些基本元素，并建议了在准备部署和配置 Exchange Server 2007 统一消息时需要解答的一些问题。可将其用作制定部署计划的检查表。
拨号计划： 统一消息拨号计划在逻辑上与 PBX 及关联的分机号对应。拨号计划中需要预先考虑的一些内容有：
  • 分机号有几位数字？
  • 统一消息系统的试验号码是什么？
  • 用户拨打外线时需要加拨什么？
  • 为消息使用哪种音频编码解码器？
  • 公司总机接线员的分机号码是多少？
查寻组和试验号码： 查寻组是一组配置为按特定顺序接收呼叫的电话分机号；试验号码是用于访问查寻组的主分机号。您在设计中使用的语音邮件端口数量需要与查寻组成员分机数量相同。
邮箱策略： 语音邮箱策略与 Exchange 邮箱策略区别不大。以下是您可能希望讨论的一些策略：
  • 语音邮件最长保留多少天？
  • 语音邮件密码需要多长时间重置一次？
  • 语音邮件备份策略是什么？
  • 可以接受的最短密码长度为多少？
  • 最多尝试登录几次后邮箱会被锁定？
自动助理 (AA)： 自动助理应答未指定由特定订阅者接听的传入呼叫。自动助理可提供信息，并将呼叫者定向到组织中的位置。Exchange 统一消息为 AA 导航提供 DTMF 和语音功能。应考虑的因素包括：
  • AA 提示在白天、夜间和假日是否不同？（需要记录并录制这些提示。）
  • 从 AA 菜单中可以拨叫哪些订阅者？
  • 使用 AA 时，是否可以使用语音导航功能？
  • 使用 AA 是否需要多种语言？
常规或夜晚邮箱： 一些组织具有常规或夜晚语音邮箱，允许呼叫者留下待发邮件。如果您公司设有此类邮箱，则必须为统一消息创建并启用 Exchange 邮箱。
消息等待指示 (MWI)： 消息等待指示指的是电话上提示您邮箱中有未读语音邮件的指示灯。部署是否需要电话上设有消息等待指示？
多分机支持： 许多组织的员工都使用多部电话。为统一消息启用这些订阅者时，需要同时关联其所有分机号。开始前，请首先列出使用多部分机的员工的名单。
交互语音响应 (IVR) 支持： 某些传统语音邮件系统支持统一消息无法复制的 IVR 应用程序。确定将被替代的系统是否采用了与之相关的任何此类应用程序。这些应用程序可能保留在现有系统上，也可能必须由替代 IVR 应用程序取代。
语音邮件联网： 语音邮件联网提供了一种将邮件从一个系统发送到另一异类系统的方法。例如，在大型企业中，CEO 可能希望向整个组织发送语音邮件，或者您要通知消防演习一类的常规信息。通过语音邮件网络，CEO 可以在每次录制完语音邮件后将其发送给公司内的每位员工，而无需考虑这些员工使用哪种语音邮件系统。目前，Exchange 统一消息无法联网到其他传统语音系统。
传真支持： 某些传统语音邮件平台支持入站传真，允许您使用同一个电话号码接收语音和入站传真。Exchange Server 2007 统一消息支持入站传真，并可用于替代此功能。这是一个单向功能；系统不支持出站传真功能。如果要求支持出站传真，则需要寻找第三方产品来支持此功能。

将系统迁移到整个生产环境中有许多不同的方法，其中两种主要方法是逐步迁移和快速切换。无论您选择哪种方法，都要针对在实验组中记录的常见问题对技术支持人员进行培训。另外，请务必向他们演示如何启用用户，如何验证用户是否已启用，以及如何更改密码。
将用户从旧的语音邮件系统迁移到统一消息非常简单，但需要注意一个重要问题：语音邮件联网。就像电子邮件系统允许您将电子邮件发送、转发和回复到其他电子邮件用户和系统的情况一样，语音邮件也允许您发送、转发和回复到其他语音邮件用户和系统。
假设 Alice 和 Brian 目前都使用旧语音邮件系统。Brian 被迁移到统一消息，他希望向使用旧语音邮件系统的 Alice 发送邮件。因为这两个用户处于各自独立的系统上，所以他们不再能够彼此发送、转发或回复语音邮件；很不幸，语音邮件孤岛形成了。
传统语音邮件系统通过使用某种类型的联网协议转换器将异类系统联在一起来解决此问题。但是，目前并没有允许异类系统联网到 Exchange Server 2007 统一消息的联网协议转换器。尽管这对于您的组织而言可能并不重要，但当选择迁移小组中的用户时，就需要对此有所了解。
我的首选方法是按站点对所有用户执行快速切换。快速切换可以实现从一个系统到另一个系统的完全迁移。此操作一般在周末进行；用户星期五回家，星期一回去工作时就可使用新语音邮件系统。一些管理员说，快速切换应仅用于小型企业客户或远程站点。我不同意这种说法。我曾在一个拥有 7000 位用户的大型站点应用过快速切换，而只有不到 1% 的员工需要呼叫技术支持人员请求支持。如果已计划好并成功执行了项目的其他所有阶段，则应该能顺利切换到完整生产系统。
但是，在将多个站点切换到完整的生产系统时，应考虑首先每次切换一个较小的远程站点，最后切换最大的站点。认真总结从较小站点得到的经验教训，据此对项目计划进行必要的更改。
通常，在实时切换系统前，应完成所有用户培训，并为统一消息启用所有用户。以下是一个分步方法，可用于为快速切换语音邮件系统做准备。
首先，验证已完整安装、配置和测试统一消息系统。
以小组形式进行培训。向参加培训的用户说明其邮箱将在系统正式投入使用前先行启用，鼓励他们登录自己的邮箱，通过更改密码并录制问候语对邮箱进行初始化。培训完成时，立即启用这些用户，以便用户能在进行切换前初始化自己的邮箱。
最后，当所有培训完成时，选择在周末对所有用户禁用旧的语音邮件系统，并将其电话转发到 Exchange 统一消息。在星期一早晨，您的系统即可供组织中的所有用户使用。

进行切换
无论您是要支持单一站点还是支持拥有多个站点的大型组织，本文中介绍的信息都应对您有所帮助。多站点组织设计起来比较复杂，但无论您拥有 50 位用户还是 5000 位用户，基本要求都是相同的。
我特别强调的一点是：部署统一消息解决方案时，IT 小组和电信小组必须相互协作。根据我的经验，虽然很多因素都会导致统一消息项目偏离正轨，但如果 IT 小组和电信小组不能协作以及无法在解决方案上达成一致，项目注定会失败。技术的结合并不太困难，但可能需要组织外部既了解 IT 又了解电信的人员的帮助，以使两个小组进行协作或规划成功的项目部署。

Jeff Goodwin 是 VIA 组的高级技术专家，擅长 Exchange 和统一消息设计和部署。您可以通过以下电子邮件地址与他联系：jgoodwin@theviagroup.com。


 安全性: 基本计算机取证指南
安全性 Tom Cloward and Frank Simorjay

基本计算机取证指南
概览:
  • Windows 基础计算机调查指南
  • 恶意软件删除初学者工具包
  • 使用 Windows PE 创建调查工具包
  • 保留取证分析信息

恶意人员可以通过无数种方法使用计算机进行非法活动 — 攻击系统、泄露商业秘密、释放新病毒以及使用仿冒网页和欺诈邮件窃取个人信息等。我们不时听说有新型攻击
和技俩出现，但关于使用计算机调查这些活动的方法，听说的就比较少了。
尽管某些调查需要经过培训的高级专业人员使用昂贵的工具和复杂的技术才能完成，但您仍然可以使用相对简单、低成本的方法进行基本的调查和分析。在本文中，我们将重点介绍可供主流管理员轻松访问的计算机取证技术。
我们的介绍基于以下两个可免费下载的解决方案加速器：“Windows 基础计算机调查指南”（go.microsoft.com/fwlink/?LinkId=80344）和恶意软件删除初学者工具包（go.microsoft.com/fwlink/?LinkId=93103）。在本文中，我们将向您介绍如何结合使用上述两个解决方案来构建可引导的 Windows® PE 环境，您可以在该环境中进行有效的调查，并保留查找结果以供报告和分析使用。请注意，使用此处介绍的方法并不能调查已加密或属于 RAID 卷的硬盘。如果硬盘损坏，则需要提前执行其他步骤还原该硬盘的状态。
尽管我们的解决方案详细介绍了从基于 Windows 的计算机收集证据的简单方法，但这只是一个非正式的基本方法。市面上提供了几种比较复杂的解决方案，这些商用方案能够以更有效的方式执行此处列出的任务。
还要记住，我们此处介绍的技术既不保证是规范的解决方案，也未经国际计算机取证鉴识人员协会认证。在进行调查前，应先考虑硬盘上的证据是否可能成为法律诉讼程序的一部分。如果存在这种可能性，则应有经过专业认证的计算机鉴识人员参与调查。还必须根据任何可能的法律诉讼程序的性质，考虑是否直接将调查移交给执法人员。“Windows 基础计算机调查指南”包含有关此主题的更多信息。

关于解决方案加速器
“Windows 基础计算机调查指南”介绍了进行内部计算机调查时所采用的过程和工具。该指南列出了计算机调查模型的四个阶段：评估、采集、分析和报告。此模型很便利，能够帮助 IT 专业人员进行调查并可保留重要查找结果。
本指南还涉及何时需要执法人员的介入 — 做此决定时需要咨询法律顾问。您将从中找到与以下内容有关的信息：管理与计算机相关的犯罪、如何联系相应的执法机构、Windows Sysinternals 工具以及可协助进行调查的其他 Windows 工具。
本文涉及的另一个解决方案加速器是恶意软件删除初学者工具包，此加速器将指导您构建可引导的 Windows PE CD-ROM 并使用它从计算机中删除恶意软件。此指南包含一个威胁列表以及一些缓解操作，这些缓解操作可帮助降低所列威胁对组织的潜在影响。此指南还强调了制定事件响应计划的重要性，如果怀疑有恶意软件爆发，便可执行该计划。恶意软件删除初学者工具包还包含一种四阶段方法，可帮助 IT 专业人员确定相关恶意软件的性质、限制恶意软件传播、将其删除（如果可能）、验证删除是否成功，然后继续执行可能需要的后续步骤。

Windows PE CD-ROM
进行此类调查有两个先决条件：Windows PE CD-ROM 和外部存储设备（如 USB 闪存驱动器）。
您可能已经通过大量的电视节目了解到警察应保护犯罪现场。出于同一原因，您也需要保留正在调查的硬盘上的数据。与恶意软件删除初学者工具包光盘不同，我们构建的可引导 Windows PE 光盘在运行工具时不会以任何形式更改硬盘数据。
Windows PE 光盘会引导系统进入受限制的 Windows 环境。创建可引导 CD 时，可以将针对特殊目的预先配置的工具（例如，恶意软件删除初学者工具包中的工具）包含在内。请注意，计算机必须具有至少 512MB RAM — 这是 Windows PE 的要求。
构建 Windows PE CD-ROM 的过程相当简单，此过程在恶意软件删除初学者工具包中有详细介绍。构建可引导光盘前，首先需要安装 Windows 自动安装工具包 (AIK)、Sysinternals 套件（可从 microsoft.com/technet/sysinternals/utilities/sysinternalssuite.mspx 获得），将 Sysinternals 工具置于恶意软件初学者工具包的任务 2 所述的工具列表中，然后安装其他的恶意软件扫描工具和实用程序。有关创建此光盘的详细说明，请遵照恶意软件初学者工具包文档中所述的步骤。

外部 USB 驱动器
由于此过程不会更改所要调查的驱动器，因此您还需要 USB 拇指驱动器或其他类别的外部硬盘，以存储即将生成的输出文件。（建议使用 USB 拇指驱动器，因为 Windows PE 能够自动挂接 USB 设备。）您可能还希望使用外部硬盘，以便存储原始硬盘的映像。为实现所有的要求和选择，您需要事先根据调查所需的总磁盘空间做出计划，这相当重要。
因为您希望确保开始调查时工具包是干净的，所以需要从用于保存调查文件的外部磁盘中彻底删除以前的所有数据。通过使用磁盘擦除实用工具覆盖可写驱动器的整个表面，即可轻松实现上述要求。然后，就可以根据需要格式化外部磁盘并设置标签，以供调查使用。此项防范措施可确保设备不包含任何文件，如果留存文件，则可能会影响调查过程中收集的证据。
您还应该准备一张监管链表单，以便保存一份用于记录在整个调查过程中谁负责处理计算机的正式文档。“Windows 基础计算机调查指南”提供了一个监管链表单示例。完成对工具包（包含必备的可引导 Windows PE 光盘、外部存储设备和监管链表单）的打包后，就可以继续执行后续步骤了。

进行调查
现在您可以执行调查了。首先，使用 Windows PE 光盘引导可疑系统，确保计算机的引导顺序将 CD-ROM 驱动器标识为主引导设备。当出现提示时，按任意键完成从 CD-ROM 执行的引导。这样就可以访问安装在光盘上的工具了。
我们将使用示例计算机上的工具包演示如何从计算机（我们将其称为 Testbox1）收集信息。Testbox1 上分配的 CD 驱动器是 X:\，为恶意软件删除初学者工具包中的工具提供的默认位置是 X:\tools。要访问工具包中的工具，只需键入：cd \tools。
有多种工具可用于识别计算机中装入的目标驱动器。Bginfo.exe 位于 Sysinternals 工具目录下，它可以提供此信息，并将其放在桌面上的背景窗口中，以便您参考。Drive Manager 也可以识别计算机上的所有驱动器，包括目标硬盘驱动器和外部 USB 设备。图 1 显示了 Testbox1 的磁盘信息。引导驱动器是 X:\，目标硬盘驱动器是 C:\，外部 USB 驱动器是 F:\。
Figure 1 Viewing disk information with Drive Manager
Figure 1 Viewing disk information with Drive Manager

检查恶意软件
在开始调查之前运行反恶意软件工具是非常重要的，这可以确保调查不会感染病毒或其他恶意代码。如果需要，可以将反恶意软件工具生成的报告作为证据。但如果不检查计算机中是否存在恶意软件，就会危害到调查，还会影响鉴识人员在周密性和准确性方面的可信度。建议您在只读模式或报告模式下运行所提供的反恶意软件工具。
恶意软件删除初学者工具包介绍了很多建议的工具，包括恶意软件删除工具和 McAfee AVERT Stinger。运行恶意软件删除工具时，请确保采用了命令行选项 /N，以指示此工具只报告恶意软件而不尝试将其删除：
x:\tools\windows-KB890830-v1.29.exe /N
结果报告文件将位于 %windir%\debug\mrt.log。
同样，运行 McAfee AVERT Stinger 时，请将首选项更改为“仅报告”，如图 2 所示，以使它仅扫描计算机，而不会对硬盘进行任何更改。请确保在扫描完成后保存此工具生成的报告。
Figure 2 Use Report only mode in McAfee AVERT Stinger
Figure 2 Use Report only mode in McAfee AVERT Stinger

保存关键文件
即使开始调查之前不备份整个磁盘，至少也应该备份关键用户文件。配置信息在将来需要时可供审查使用。首先收集注册表文件和设置，其中包含有关计算机曾用于哪些用途以及系统上安装了哪些软件的所有相关信息。
要保存 Testbox1 的注册表配置单元，需要首先在可移动的 F:\ 驱动器上创建一个文件夹，然后使用下列命令记录调查开始的日期和时间：
f:Mkdir f:\evidence_files Date /t >> f:\evidence_files\Evidence_start.txt Time /t >> f:\evidence_files\Evidence_start.txt
现在，我们使用 xcopy 命令复制整个配置目录及其内容，以保存注册表配置单元。您感兴趣的注册表文件位于 %windows%\system32\config 文件夹中。在本例中，我们运行以下命令：
xcopy c:\windows\system32\config\*.* f:\registrybkup /s /e /k /v
此命令将复制 config 文件夹中的所有配置信息。Textbox1 的 config 文件夹中包含的信息量大约有 95MB。
接下来处理用户数据，用户数据可能位于硬盘上的任何位置。在本例中，我们仅复制 c:\HR 目录下的数据。为确保数据收集完整，我们使用以下 xcopy 命令复制该目录及其子目录下的所有数据：
Mkdir f:\evidence_files\HR_Evidence Mkdir f:\evidence_files\documents_and_settings Mkdir f:\evidence_files\users xcopy c:\HR\*.* f:\evidence_files\HR_Evidence /s /e /k /v
现在，您可以处理个人文件夹信息了。同样，我们希望复制那些目录及其子目录下的所有数据。为此，我们使用下列命令：
Xcopy c:\documents and settings\*.* f:\evidence_files\documents_and_settings /s /e /k /v

Xcopy c:\users\*.* f:\evidence_files\users /s /e /k /v
此示例收集了大约 500MB 的数据，如有必要，现在即可进行分析。可以看到，所收集的数据量可能相当大，遇到音频文件、视频和照片时尤其如此。尽管如此，由于调查可能不仅需要实际收集的证据，还需要确保此信息在收集过程中没有发生改变，所以，保留尽可能多的原始数据是很重要的。理论上，应该为调查工作制作一个完整的磁盘映像，但由于大小方面的限制，做到这一点可能很困难。不用说，您一定清楚为什么要提前确定调查可能需要占用的存储空间大小了。

收集其他信息
系统文件对收集证据也非常有帮助，但由于这些文件并不总是位于同一位置，所以收集此类数据可能需要对目标计算机做些探查。尽管如此，由于某些类型的文件很有利用价值，所以搜索它们也是值得的。例如，交换文件中就包含内存访问了哪些文件的相关信息。此外，交换文件甚至可以提供详细的使用活动。与之类似，Web 浏览器数据和 Cookie 可提供关于浏览行为和模式的信息。
查找此类数据可能需要做一些探查工作，当用户更改其配置，将数据存储到默认位置以外的其他位置时尤其如此。有多种 Sysinternals 工具可帮助您查找关键文件。图 3 列出了五种有用的应用程序，并介绍了如何使用这些程序协助您进行调查。
Figure 3 Tools to locate files and data of interest (Close Figure 3)

应用程序 | 说明
AccessChk | 按指定的用户或组显示对文件、注册表项和 Windows 服务的访问。
AccessEnum | 显示哪些用户对计算机上的哪些目录、文件和注册表项具有访问权限。使用该工具可查找权限应用不当的位置。
Du | 按目录显示磁盘使用情况。
PsInfo | 显示计算机的相关信息。
Strings | 在二进制映像中搜索 ANSI 和 UNICODE 字符串。

Tom Cloward持有 CCE 和 CISSP 证书，是 Microsoft 的项目经理，致力于为 IT 专业人员提供安全性和法规遵从性解决方案加速器。他从事软件和 IT 行业已达 15 年以上，酷爱研究 IT 安全性、取证和遵从性。
Frank Simorjay持有 CISSP 和 CET 证书，是 Microsoft 解决方案加速器 — 安全性和法规遵从性小组的技术项目经理和安全性主题事项专家，为 Microsoft 客户设计安全性解决方案。他的最新成果是恶意软件删除初学者工具包，此工具包可从 Microsoft TechNet 获得。


 联网: Microsoft Security Intelligence Report
联网 Tim Rains

Microsoft Security Intelligence Report
概览:
  • 软件漏洞公布、攻击及恶意软件方面的趋势
  • 针对 Windows 不同版本的威胁及影响
  • 全球受感染最严重和最轻微的区域

从与 Internet 相连的数亿系统和一些世界上最繁忙的在线服务收集到的数据使 Microsoft 在当今 Internet 用户面临的安全威胁方面有自己独到的见解。
Microsoft 每年在其安全性智能报告 (SIR) 中共享两次这些数据。制作该报告的各方包括 Microsoft® 恶意软件防护中心 (MMPC)、Microsoft 安全响应中心 (MSRC)、可信赖计算 (TwC) 小组以及其他许多产品小组。SIR 提供软件漏洞公布、恶意软件和潜在不需要的软件（如间谍软件和广告软件）最近趋势方面的深入见解。该报告还包括以下方面的详细信息：Windows 操作系统的各种版本在威胁环境中的表现、全球哪些地区受恶意软件及其他入侵软件的影响最大。最新一期的报告着重于 2007 年上半年观察到的趋势，同时新包括了有关软件漏洞攻击方面的内容。如果您负责计算机安全性或对此感兴趣，那么阅读 SIR 将具有很大价值，因为它旨在帮助您了解与 Internet 相关的威胁。
最新的 SIR 显示，安全研究人员在所有供应商的软件中都发现了更多的漏洞。事实上，仅 2007 年上半年就已公布了 3,400 多个新软件漏洞！不过，尽管这一数字很大，但公布的操作系统漏洞的整体百分比却在不断下降。
这意味着什么？一种可能是安全研究人员加大了对应用程序的关注，因为操作系统安全性已不断得到改进。此外，由于新应用程序的数目的增长超过了新操作系统的数目，因此应用程序的激增可能在背后也推动了最近的漏洞公开趋势。
在 2006 年，Microsoft 产品中 29.3％ 的已知漏洞有可公开获得的攻击代码，而在 2007 年 8 月 1 日，仅有 20.9％ 的已知漏洞有可公开获得的攻击代码。虽然漏洞的数目在持续增加，但攻击代码的比率却保持稳定，并显示出略有下降的趋势。更新版本产品的攻击代码更加难以找到。我们就产品与产品进行了比较，结果显示更新版本的产品比在市场上推出很长时间的产品版本存在的风险小。平均来说，攻击性会随产品生命周期而逐渐降低，这意味着对于大多数产品而言，较高版本相对不易受到攻击。这在 Windows 和 Microsoft Office System 产品中体现得尤为明显。这两种产品（Windows Server® 2003、Windows Vista®、Office 2003 和 2007 Office system)的更高版本在产品生命周期内表现出来的漏洞数目明显减少。
SIR 在恶意软件趋势方面提供了颇有价值的见解。这些趋势表明了当前用来攻击用户的策略。看一下来自某些关键的主要来源（包括 Microsoft Exchange 托管服务 (EHS)、Windows Live® OneCare 和 Windows Live OneCare 安全扫描程序、Windows 恶意软件删除工具 (MSRT) 以及 Windows Defender）的数据，它们从不同的有利方面为我们阐述了对威胁领域的看法。
社会工程学在恶意软件分发方面所起的作用日益增大。这类攻击通常会成功诱使用户采取某些可能会降低安全机制有效性的行动。来自 EHS 的数据表明，在 2006 年上半年，典型的电子邮件蠕虫病毒单独构成了以电子邮件为载体的最大威胁，占据电子邮件中检测到的恶意软件的 95%。从 2006 年下半年开始，该数字降到了 49％，并在 2007 年上半年保持不变（请参见图 1）。包含恶意 IFrame 攻击的网页仿冒欺诈和电子邮件在 2006 年下半年的电子邮件恶意软件检测中占 27％，到 2007 年上半年增长为 37％。在电子邮件中携带的特洛伊木马下载程序在 2006 年下半年最高达到 20％，在 2007 年上半年降到 7％。
Figure 1 Composition of infected e-mail in the first half of 2007
Figure 1 Composition of infected e-mail in the first half of 2007
从 Windows Live OneCare 和 Windows Live OneCare 安全扫描程序 (safety.live.com) 中收集的遥测数据显示，病毒、后门病毒、密码盗窃程序和数据盗用木马病毒的感染率在 2007 年上半年有所上升。
MSRT 旨在帮助确认和删除客户计算机中常见的恶意软件。它主要通过 Windows Update (WU)、Microsoft Update (MU) 和自动更新 (AU) 作为关键更新发布。在过去两年中，MSRT 已从世界范围内 2050 万台计算机中删除了 5030 万个感染的病毒。MSRT 到目前执行的总次数已超过 74 亿，其中 2007 年上半年执行了 19 亿次。
MSRT 是 Microsoft 及其客户的一个非常不错的数据来源。据 MSRT 观察，Windows Vista 和 Windows XP SP2 系统的病毒感染率远远低于较早的 Windows 操作系统，如图 2 所示。MSRT 在运行 Windows Vista 的计算机中清除的恶意软件比运行 Windows XP SP2 的计算机少 60％，而比运行 Windows XP 但没有安装任何 Service Pack 的计算机少 91.5％。有趣的是，每台计算机的杀毒数在一段时间内保持稳定，每台受感染的计算机的平均杀毒数为 2.2。
Figure 2 OS versions cleaned by the MSRT in the first half of 2007
Figure 2 OS versions cleaned by the MSRT in the first half of 2007
一般规律是，MSRT 在发展中国家发现的恶意软件比发达国家多。例如，欧洲受感染最严重的国家是阿尔巴尼亚和土耳其，而受感染最轻微的国家是意大利和芬兰。在亚太地区，受感染最严重的国家是蒙古和泰国，而受感染最轻微的国家是新西兰和日本。美国受到的感染相对于美洲大多数国家和地区而言要小，它的感染率与全球范围内的平均比率大致相同。2007 年上半年，MSRT 平均清理了每 216 台计算机中的 1 台。
Windows Defender 运行在 Windows Vista、Windows XP 和 Windows Server 2003 之上。总体来说，2007 年上半年检测到 5070 万个潜在的不需要软件，其中在运行 Windows Vista 的计算机上检测到的软件比在运行 Windows XP SP2 的计算机上检测到的软件要少 2.8 倍。同样，在运行 Windows Vista 的计算机上检测到的潜在不需要的软件数是在运行 Windows Server 2003 的计算机上发现的一半。
现在您可能想知道，尽管所有这些统计数据的确有趣，但它们如何帮助您更好地保护自己和环境？在最新的 SIR 中，每个主要部分的序言都概述了该部分的重点，并包含一组“策略、缓解措施和对策”。您可以通过这些列表快速了解报告每个部分的主要发现。
此外，您还可以利用 SIR 中提供的数据、见解和指南评估，根据不断变化的威胁状况改进您当前的安全措施。根据主要发现提供策略、缓解措施和对策的完整报告可从 microsoft.com/sir 下载获得。

Tim Rains 是 Microsoft 恶意软件防护中心 (MMPC) 的产品经理。他负责管理 Microsoft 安全性智能报告 (SIR) 的生成。SIR 的作者是 Jeff Jones（Microsoft 可信赖计算小组的主管）、Jeff Williams（MMPC 的主管）、Mike Reavey（Microsoft 安全响应中心的团队经理）和 Ziv Mador（MMPC 的高级项目经理兼响应协调人）。


 联网: 跟踪难以捉摸的网络问题
联网 Christopher Stoneff

跟踪难以捉摸的网络问题
概览:
  • 网络问题的常见原因
  • 原因不明确
  • 故障排除工具不起作用时
  • 为何需要配置连接限制

您可能多次遇到这种情况 — 您的计算机不知为何无法与其他计算机进行通信。您的管理系统位于路由网络段上，该网络段通过路由器（如 Microsoft Internet
Security and Acceleration (ISA) Server 或其他硬件设备连接到其他网络段。当您尝试管理 10 个、20 个甚至 100 个系统时，未遇到任何问题。但当尝试管理 500 个系统时，您的计算机除了能与它已成功建立连接的计算机通信外，无法通过网络与其他计算机进行通信。您无法与任何其他系统通信，也无法连接到 Internet，但网络（包括您所在的网络段）上的其他人并没有出现这种现象。应该首先检查什么呢？

诊断问题
在这种情况下，一般都假设是管理软件出现了问题。许多主动管理工具可连接到系统并对其进行管理，但有时这些工具本身可能就会导致您正在尝试跟踪的问题。这是因为主动管理工具能以“更好的管理”的名义生成数千个到设备的连接。Windows® 默认情况下使这些连接保持两分钟的打开状态，即使没有使用这些连接时也是如此，除非工具、应用程序或服务使连接状态保持更长时间。这意味着即使管理系统在两分钟内未与任何计算机通信，您仍可能具有 1,000 多个打开的连接。 （您可以通过在命令提示符下运行 NETSTAT 查看打开的连接。 NETSTAT 命令为您显示连接到系统以及来自系统的所有打开、挂起和关闭的连接，并提供其状态。状态消息的描述可以在 tools.ietf.org/html/rfc793 中的 RFC 793 中找到。）
若要排除是管理软件出现了故障，可以创建一个批处理文件与远程系统建立连接。如果在运行批处理文件时出现了同样的问题，您就知道问题不在于管理软件及其线程。所需的批处理文件内容的示例如下：
Net use \\system01\ipc$ Net use \\system02\ipc$ Net use ...
如果恰巧被怀疑有问题的管理程序在实施它自己的联网和身份验证堆栈，则它可能就是罪魁祸首，但在无代理解决方案（如上述大多数管理程序包）中，该工具使用操作系统的联网和身份验证堆栈执行联网操作。如果使用批处理文件建立同样多的网络连接而没有导致失败，则表明该问题不是程序使用操作系统的联网和身份验证堆栈导致的，因为批处理文件也用到它们。

日志和错误消息不起作用
您可能已注意到，由于连接开始失败，您收到了不正确的失败信息：错误 53 — 未找到网络路径，错误 64 — 网络名已删除，以及错误 1203 — 无任何网络提供程序接受指定的网络路径。通常，上述所有消息都可能说明存在名称解析问题，除非所有其他计算机都没有出现解析名称和连接到同一系统的问题。若要确认您的计算机设置没有出错，只需运行 ipconfig 确认您的设置正确即可。
接下来，由于该现象看起来像是出现在管理系统中，因此应查看事件日志。搜索应用程序日志没有发现任何结果，但在系统日志中，您会在事件源 TCP/IP 中发现警告事件 4226，该事件指出已达到最大连接数（请参见图 1）。
Figure 1 TCP connection limit has been reached
Figure 1 TCP connection limit has been reached
如果全面搜索 Microsoft® 知识库查找有关连接限制的内容，会发现未完成的连接存在连接限制，对完成的连接则没有任何限制。您可以在 HKLM\System\CurrentControlSet\Services\TCPIP 下调整下列注册表项来控制上述因素：TcpNumConnections 用于设置 TCP 可同时打开的最大连接数（默认值为 10）。TCPTimedWaitDelay 用于设置连接关闭后保持处于 TIME_WAIT 状态的时间。默认的半衰期是 120 秒，这意味着连接实际上可使用 4 分钟。最后，MaxFreeTcbs 也对确定最大连接数起到一定作用。如果使用了所有 TCP 控制块，则即使 TCPTimedWaitDelay 尚未过期，TCP 也应释放列出的处于 TIME_WAIT 状态的连接以创建更多连接。TCPTimedWaitDelay 值的范围为 30-300 秒 (0x1E – 0x12C)。
根据您的具体情形，进行上述注册表改动后，您可能会发现整体性能得到了一些改进。您还可尝试修改 TCPIP.sys 文件以取消这些限制，但是这只能改进 P2P 应用程序。

网络捕获
在使用其他方法尝试解决连接问题失败后，还有希望通过相关计算机的网络捕获解决问题。运行 Microsoft 网络监视器 (Netmon) 时，会生成捕获，显示我在管理工具和测试脚本中见到的确切结果：开始时一切都正常运行，然后出现异常，也未显示其他任何错误指示。
图 2 显示了运行 Netmon 的结果，表明在前 n 个系统之间成功进行了通信。请注意，我将获得 RPC 请求的确认应答。这正是您希望看到的结果 — 成功的双向通信。
Figure 2 Successful communication in Netmon
Figure 2 Successful communication in Netmon
现在您需要看一下来自管理系统和远程计算机的捕获，它们显示了错误 53/1203。您可能已经预料到，没有捕获到任何内容，因为计算机没有进行通信。在图 3 所示的网络捕获中，管理系统已解析了 IP 地址并尝试通过端口 445（Microsoft SMB 端口）连接到系统，但一直收不到响应。
Figure 3 Attempts to connect to the system over port 445 yield no response
Figure 3 Attempts to connect to the system over port 445 yield no response
如果您拥有的线程比计算机当前可以连接的线程多，您收到的错误并不总是一致的。有些情况下，可能显示来自源系统的错误 53，指示收到了名称解析但找不到 IP 地址。这表明您无法连接到 DNS 提供的地址。您也可能收到错误 1203，指示没有计算机响应您请求的名称或 IP 地址。在这种情况下，错误 1203 表示您无法使用 DNS。如果运行 nslookup，您会发现的确无法使用 DNS。
此时，您可能会感到失望，但还有更多方法可供您选用。大多数人不会想到去查看连接的基础结构，因为该问题本身的呈现方式是：您的计算机是唯一无法连接到网络其余部分的计算机，并且事件日志显示您的计算机已达到允许的最大连接数，因此从本质来说不像是体系结构存在问题。
尽管管理解决方案生成的数千个连接不会同时启动，但活动的传输连接和连接超时可能意味着您在某个时间打开的连接数超出了您的预料。因此，您还必须检查连接网络其余部分的那些系统。
让我来解释一下。前面说过，网络通信经过网络时，会通过交换机、路由器，可能还通过防火墙。在上述任一位置（通常是路由器或防火墙），都可能遇到入侵检测系统。托管交换机和路由器可能还使用通讯筛选。您或控制这些设备的人员需要检查日志以查看错误或警告。通信问题很可能就出现在这些系统中。
由于您是从某一个内部系统连接到其他内部系统，因此您可能会发现没有生成警报，这要么是因为设备上未配置警报，要么是因为问题不足以构成入侵或拒绝服务 (DoS) 攻击。再次重申，您应该首先查看日志。以 ISA 服务器为例，这些日志可以在 ISA 服务器管理控制台中找到，具体位置是 Arrays\<ArrayName>\Monitoring\Logging。
如果某策略阻止了您的通信，您可能需要（在使用 ISA 服务器的情况下）查找下列结果代码，其中源 IP 是您的管理计算机：
  • 0xc0040037FWX_E_TCP_RATE_QUOTA_EXCEEDED_DROPPED
  • 0xc004000dFWX_E_POLICY_RULES_DENIED
  • 0xc0040017FWX_E_TXP_SYN_PACKET_DROPPED
如果发现这样的结果，则找到了连接问题的根源。

实施解决方案
确定问题之后，解决方案就很简单了，但部门策略可能会使解决方案难以实施。在进行任何更改之前，请确保您具有进行更改的适当权限，因为有时不允许在防火墙、路由器和/或入侵检测系统的安全配置中创建排除条目。
仍以 ISA 服务器为例，下列步骤显示了如何增加给定主机或网络中所有计算机的最大连接数（如图 4 所示）。打开 ISA 服务器管理控制台，导航到 Arrays\<ArrayName>\Configuration\General\Configure Flood Mitigation Settings。
Figure 4 Increase the maximum number of connections for one host or all machines using ISA Server
Figure 4 Increase the maximum number of connections for one host or all machines using ISA Server
需要注意两个设置：每个 IP 地址的最大 TCP 并行连接数，以及每个 IP 地址每分钟的最大 TCP 连接请求数。通常情况下，设置的每个 IP 地址的最大 TCP 并行连接数不会导致主动管理，这意味着任何计算机都不会主动快速连接到数千台其他计算机。在 ISA 服务器中，最大 TCP 并行连接数的默认限制为 160。每个 IP 地址每分钟的最大 TCP 连接请求数旨在限制网络扫描的破坏性和可见性。默认情况下，每个 IP 每分钟的连接请求数限制为 600。
如上文所述，如果没有采取其他措施试图使连接长时间处于活动状态，默认情况下 Windows 会使连接保持处于活动状态两分钟，在该连接未被使用的情况下亦如此。这意味着即使您已成功对计算机进行了管理，并且不再需要与其通信，该连接仍会保持活动状态。此打开的连接将计入分配的总连接数中。在不删除连接的情况下重复该过程 160 次以上，您会发现所有连接尝试都将被路由器拒绝。即使管理程序主动终止会话，Windows 也会将连接置于 time_wait 状态，等待目标计算机同意断开会话连接。
调整最可能出现问题的位置：每个 IP 地址的最大 TCP 并行连接数。您应该对其进行设置，以便管理计算机能够创建管理系统所需的所有连接，而不会被拒绝访问。单击设置旁边的“编辑”按钮，并更改相应的值。
下一个提示（请参见图 5）中显示了提供默认限制的“限制”框，适用于所有客户端。“自定义”限制适用于在淹没缓解对话框的“IP 例外”选项卡上定义的所有计算机、网络等。如果希望允许每台计算机创建更多连接，可更改“限制”的值。若要仅为您的管理计算机配置例外，请调整“自定义”限制并将您的计算机添加到“IP 例外”选项卡。通常，最好仅允许您自己的计算机可以例外。
Figure 5 Default connection limit and custom connection limit
Figure 5 Default connection limit and custom connection limit
如果仅希望使用自定义限制对特定系统修改此值，则可更改“自定义”限制字段中的值，并单击“确定”。然后，将您的计算机添加到淹没缓解对话框中的“IP 例外”选项卡。若只将您的计算机添加到例外列表，请单击“IP 例外”上的“添加”以显示“计算机集”对话框。如果尚不存在包含这些计算机的网络集，请单击“新建”创建新的网络集来包含您的系统。选择该网络集并单击“添加”以添加“内部网络”网络集，然后单击“关闭”。再次选择“内部网络”网络集，然后单击“编辑”。这将打开“内部网络”的属性（请参见图 6）。单击此对话框上的“添加”可显示一个子菜单，在其中可以选择添加计算机、地址范围或子网，以及选择计算机。键入用于标识条目的名称、计算机的 IP 地址和描述，以免此后查看该条目的人删除您的系统（请参见图 7）。单击“确定”添加您的系统，然后再次单击它以添加例外。现在您已完成了更改，可以应用这些设置了。
Figure 6 Internal networks properties settings
Figure 6 Internal networks properties settings
Figure 7 Enter computer name, IP address, and description to ensure your system is not removed
Figure 7 Enter computer name, IP address, and description to ensure your system is not removed
再次尝试使用主动管理工具，您应该发现性能大大改善并且连接没有失败，至少不会因网络通信导致失败。最后，事实证明，问题不是由软件启动的连接数导致的，而是缺少对这些连接的合理规划导致了中断。

经验教训
IT 中最令人头痛的事情之一是遇到确实非常难以捉摸的问题并解决这些问题。这些问题既不是最终用户造成的，也不是服务器团队导致的，同样也不是技术支持所了解的问题，但不幸的是，可能要您来负责解决此类问题。有许多工具可帮助您排除、隔离和解决问题，但有时这些工具远远不够；有时这些工具本身也会出现错误；有时您必须比这些工具更聪明。
下次您发现自己无法与网络上的许多计算机建立连接，又找不到明确的原因时，请尝试我在本文中介绍的步骤。按照这些步骤，仔细查看您的管理软件并合理设置允许的连接数，问题可能会迎刃而解。

Christopher Stoneff 是 Lieberman Software 公司 (liebsoft.com) 的产品经理，该公司致力于安全和系统管理软件开发。Chris 获得的技术认证多得惊人。他最大的动力在于不仅要了解事物的特定运作方式，而且要了解背后的原因。


 编辑寄语: 开始进行对话
编辑寄语
开始进行对话
Joshua Hoffman

过去发生的每个重大事件 几乎都始于对话。
“我真的认为地球并不是平的。我们应该实际检验一下，是吧？”
“我们为什么不将人送到月球上去？”
“我可以跟您讨论一下我对这些新 PC 的看法吗？”
“我们一起喝杯咖啡吧。”
（最后一个对话确实不是什么重要事件......只是我确实很喜欢喝咖啡。但如果我们一起去喝咖啡，就可能会产生重要的想法！）
无论如何，本月专栏使我觉得，从两个层面上来讲，每个重要事件通常都始于对话的观点非常正确。第一个层面涉及一个当前正在进行的实际对话：在博客上、在走廊中，甚至在本期的《TechNet 杂志》中（请参见第 91 页，Romi Mahajan 的“现场注意事项”专栏）。此专栏讲述 IT 消费化方面的内容，集中论述了我们不仅是工作中的 IT 专业人员这一论点。实际上就是要说明，我们在日常生活中所做的事情（做慈善义工、唱卡拉 OK、玩 Xbox 游戏等任何事情）都会对我们的工作以及我们为职业生涯所做的决策产生影响。这是 Romi 和我以及几位特别嘉宾之间的一次对话，在即将于拉斯维加斯召开的 Windows Connections 会议中，我们将继续展开主题为“The Fungible Future”（千变万化的未来）的小组讨论。我希望您能亲自参加这次会议或浏览网站，网址为：WeWantToKnow.net。欢迎加入我们在博客上的对话，网址是 blogs.technet.com/tnmag，我们期待您的加入！
我要介绍的另一方面是我们启动这些对话所用的方法。在本月的《TechNet 杂志》中，我们分析了对 Exchange Server 所做的重大改进，利用这些改进，无论是隔着走廊通信还是在世界范围内通信，都可以轻松保持连接状态。我们将为您介绍 Exchange Server 2007 SP1 提供的改进功能，备用连续复制如何显著巩固灾难恢复计划，Windows Server 2008 如何增强 Exchange 平台的性能，以及统一消息如何使会话功能更加强大。作为本月对读者的特别奖励，《TechNet 杂志》的印刷版包含了特邀编辑 Astrid McClean 和 Martin McClean 提供的一系列非常流行的最新版海报。您以前可能曾在本杂志中看到过他们的获奖海报：Active Directory 组件拼图海报或 Windows Server 2008 海报。本月，他们将专攻 Exchange。让我们开始对话吧！ —Joshua Hoffman

向以下 Microsoft 技术专家致以衷心的感谢： Ed Banti、Anah Cameron、Chun Yong Chua、Cliff Didcock、Jeremy Kelly、Michael Murgolo、Jon Orton、Jeff Ressler、Kevin Sullivan、Jim Truher、Scot Vidican 和 Michael Wilson。

Joshua Hoffman


 读者来信: 读者心声
读者来信
读者心声

PageDefrag 实用程序
我试过执行您在 2007 年 9 月刊中介绍的 SysInternals PageDefrag 实用程序，但该工具无法在 Windows Vista® x64 下运行，出现了错误消息“请确保您是管理员。加载 PageDefrag 驱动程序时出错。”
—Alex D.

到目前为止，Windows Vista 尚不支持 PageDefrag 实用程序，该实用程序只适用于 Windows NT® 4.0、Windows® 2000、Windows XP 和 Windows Server® 2003。九月份的文章中没有明确指出这一问题，我们对此深表歉意。

备份计划程序
我带着极大的兴趣阅读了 2007 年 9 月刊中的文章“Windows Vista 备份技术指南”，但我有几点疑问。文章中的图 2 显示了下次备份的日期和时间，但如果备份工具不包含自身的计划程序，这怎么可能呢？
对磁盘块所做的更改是确定备份内容的依据，那么，如果发生了磁盘碎片整理会出现什么情况呢？这是否会由于块的移动或更改而导致需要备份大量数据呢？此外，在还原过程中，如果块被还原到了其原始位置，那么磁盘碎片整理是如何影响这一过程的呢？
—Bruce G.

针对此问题，我们联系了本文的作者（作者是 Christine Fok），她的答复如下：
图 2 显示了下次文件和文件夹备份的日期和时间，但只显示最近一次执行完整 PC 备份的时间。您可以计划文件/文件夹级别的备份，但正如您注意到的那样，完整 PC 备份不包含自身的计划程序。
不错，在两次完整 PC 备份之间运行碎片整理确实会生成另一个更大的备份。关于进行碎片整理后的还原，您的感觉也是对的。完整 PC 备份在卷级别（低于文件系统级别）起作用。在执行完整 PC 备份以后，无论是否运行过碎片整理，都会按备份时的状态精确地将每个块放回到磁盘上与原来完全相同的位置。因此，完成还原后，可能需要重新对卷进行碎片整理。

BGInfo 工具
我特别喜欢阅读 2007 年 8 月刊的“实用工具特别推荐”专栏。SysInternals 提供的 BGInfo 工具太让人意外了，它可以收集关键的 CPU 和网络信息。我喜欢阅读那些开发新产品、实用程序、程序或应用程序的人员的相关信息。Cogswell 先生为 Microsoft 开发出其他软件产品了吗？
—Daryl B.

得知您觉得 BGInfo 实用程序很有用，我们很高兴！Bryce Cogswell 已开发出很多便利的实用程序，他通常都是与 Mark Russinovich 合作，为 Sysinternals 服务。令人高兴的是，Microsoft 于 2006 年收购了 Sysinternals，Cogswell 先生和 Russinovich 博士现在均供职于 Microsoft。您可以从 Sysinternals 网站找到他们所有的实用程序，网址是：microsoft.com/technet/sysinternals。

RPC 和防火墙
2007 年 7 月刊中“RPC 错误故障排除”一章非常有用，但漏掉了一个要点：Windows 防火墙也会导致 RPC 错误。如果将 Windows 防火墙配置为允许 PING 请求，但不允许未经请求的传入消息，则试图远程管理计算机的所有尝试都将失败。如果从 Windows 资源工具包运行 RPCPING.exe，则会返回错误 1722（RPC 服务器不可用）。
在这种情况下，防火墙将完全按预期运行：阻止外来者对特定系统的访问。遗憾的是，当管理员尝试管理企业网络上的计算机时，防火墙同样会阻止他们。
—Aaron M.

感谢您指出 RPC 难题的另一个可能故障源。我们希望文章中提到的工具能够帮助您解决这些问题。

Windows XP 许可证
在 2007 年 10 月刊的“领域备注”专栏中，曾提到仅花 5.00 美元就有可能买到 Windows XP 许可证。我们是一家非盈利性的出版社，我想知道我们怎样才能获得此类许可证。是否可以通过电话或邮件来获得呢？我可以收发电子邮件，但我无法访问 Web。
—Ernest B.

您可以与 MAR 管理合作伙伴 TechSoup 联系，邮箱是 communitymar@techsoup.org，也可以拨打电话 800-659-3579 x350。您还可以写信，寄至：Community MAR Administrator, TechSoup Stock, 435 Brannan Street #100, San Francisco, CA 94107。


 工具箱: 面向 IT 专业人员的新产品
工具箱
面向 IT 专业人员的新产品
Greg Steen

监视网络系统
ActiveXperts Network Monitor
activexperts.com
如果您是系统管理员，最好能够在用户惊慌地跑出他们的工作间进行询问之前对相关问题有所了解。服务监视是用于主动管理基础结构的重要工具。ActiveXperts Network Monitor 是一个强大的解决方案，其中包括大量涉及 LAN/WAN、Windows®、Novell 和 *NIX 服务器的不同检查，可确保您在得到用户通知前对问题有所了解。
ActiveXperts Network Monitor 是基于 Windows 的应用程序，在指定为监视站的计算机上作为一种服务运行 — 此计算机的基础操作系统可以是 Windows 2000、Windows Server® 2003、Windows XP 或 Windows Vista®。完成安装后，会出现一个快速配置向导，指导您设置电子邮件通知、SMS 通知和默认扫描频率或故障阈值。您还可以添加一组示例检查，在配置过程中用作示例。这有助于消除运行阻碍，同时还可显示如何配置应用程序的不同功能的基本信息以符合环境要求。
该应用程序分为三个单独的组件：Network Monitor Engine 是一种 Windows 服务，用来连续运行监视任务；Network Monitor Manager 是一个 Windows 应用程序，使您能够查看当前的监视器活动、任务结果并更改配置。Web 界面为您提供了对任务和任务结果的只读访问权限。
除运行监视检查之外，Network Monitor Engine 还可以处理通知、结果触发的操作以及该应用程序的日志记录。监视引擎是多线程的，可以根据环境进行调整。该服务不需要终结点代理即可运行其监视检查，但这就意味着您必须提供管理凭据才能监视远程 Windows 服务器或工作站。幸运的是，您可以指定多组凭据，因此跨域和安全上下文的监视无需单一且功能全面的帐户即可运行监视解决方案。
Network Monitor Manager 很可能会占用大部分时间，但它可以全面控制所有特性、配置设置和功能。在此，您可以将监视任务组织成树状文件夹结构，从而有助于您在大型环境中快速查找和标识项，并筛选出当前用户界面视图以便快速查看一组监视任务。
添加新的监视检查任务非常简单。网络监视器大约包含 40 个内置检查，包括 IP 和协议检查（如 ICMP、LDAP、SMTP 和 HTTP）、Windows 检查（如 CPU、进程、内存和终端服务器检查）、ODBC 连接、Oracle TnsPing、基于 OLEDB 查询的数据库检查、Novell 成员资格检查和 *NIX RSH 检查。此外，还可以使用网络上的 SensaTronics 环境监视器监视环境详细信息（如温度、潮度和湿度）。
该应用程序支持自定义 VBScript 和远程 Shell 脚本，使您可以调整监视任务。随该应用程序一起提供的还有一组 VBScript 模板，用于监视各种服务（如防病毒、Microsoft® ISA Server 和 XML 查询），因此无需从头开始创建自定义监视任务。
可以为每项任务设置检查频率和故障阈值，还可以根据需要安排在指定的日期和时间运行检查，例如，验证日志存档任务或 IIS 应用程序池重置等其他运行进程的结果。您还可以指定可执行文件、脚本和批处理作业以在检查失败或执行恢复时运行，以及重新引导或重新启动指定服务。最后，Web 界面可为您提供 XML 结果数据转换后的 XSL 视图。对样式表稍加调整即可为网络运营中心 (NOC) 或移动设备创建自定义视图，由于数据是 XML 格式，因此可以轻松检索这些数据以供在其他应用程序或聚合系统中使用。

价格： 包含五个服务器的许可证起步直销价为 395 美元。
ActiveXperts Network Monitor includes sample checks to get you started
ActiveXperts Network Monitor includes sample checks to get you started

书评
Windows Vista 资源工具包
microsoft.com/mspress/books/9536.aspx
由于越来越多的组织开始将 Windows Vista 客户端集成到他们的基础结构中，所以 IT 专业人员需要尽快提供新操作系统中适用的工具。新发布的 “Windows Vista Resource Kit”（Windows Vista 资源工具包）(Microsoft Press®, 2007) 包含在企业内顺利实现 Windows Vista 客户端所需的大量信息和工具，其范围从自动化安装和卷激活到桌面管理与维护，以及使用 IPv6 联网和远程协助，应有尽有。本书共 1,568 页，此外还包括一张配套 DVD，其中包含 100 多个用于管理和部署的脚本、一组调试工具、针对商用台式机部署 (BDD) 的解决方案加速器及其他有用的内容。
本书首先概述了 Windows Vista 中的新增功能，重点介绍了安全增强功能，如用户帐户控制 (UAC)、BitLocker 驱动器加密和数据执行保护 (DEP)。此外，还讨论了服务强化概念以及内核补丁保护。接着，继续探讨了如何部署 Windows，介绍了用户可使用的大量工具以帮助自动执行此过程。例如，本书介绍了如何配置 Windows PE 2.0 预安装和恢复环境，并深入研究了 BDD 2007，为在企业中规划和部署 Windows Vista 提供了指导。此外，本书还提供了创建和配置磁盘映像的最佳做法，有关如何使用 Windows 轻松传送和用户状态迁移工具迁移用户数据的深入讨论。
接下来，本书详细介绍了如何通过组策略管理桌面环境，如何利用基于 XML 的新管理模板文件 (ADMX)。它还涉及如何管理磁盘和文件系统，并介绍了 Windows Vista 中的新 ReadyBoost 和 BitLocker 增强功能。此外，也对早期版本、卷影副本和磁盘配额的工作原理进行了说明，然后进一步探讨了如何在工作组、域和临时无线环境中部署和管理 Windows 会议室。
本书的“桌面维护”一节包括任务、Windows 错误报告、性能监视以及 Windows Eventing。该节简单介绍了如何通过服务台利用远程协助。然后讨论了软件更新、后台智能传输服务 (BITS)、Windows Update 以及审核工具。
“联网”一节详细讲述了 Windows 防火墙的工作原理，并介绍了网络堆栈的新增强功能。此外，该节还研究了如何使用远程桌面和 VPN 连接来配置远程用户和网络。
最后，本书对如何排除各种故障进行了精辟概述，包括从启动到网络、驱动器错误和设备问题的各种故障。有时，书中会出现时下较流行的营销术语，但绝对不是 1,500 多页的废话。本书深入、全面地介绍了 Windows Vista、Windows Vista 工具以及操作系统管理。

价格： 直销价 59.99 美元。

分析 HTTP 通信
Charles Web 调试代理
xk72.com/charles
因为各个应用程序以及工作站、服务器和 Internet 之间要进行大量基于 HTTP 的通信，所以性能良好的 HTTP 通信分析器对于系统管理员来说是非常有用的工具。它可以帮助您识别代理问题、安全隐患、连接错误、配置问题以及内部应用程序通信故障。我特别喜欢的一个工具是 Karl von Randow 开发的基于 Java 的应用程序 — Charles Web 调试代理。
与其他调试代理相比，该应用程序将自身设置为各代理的“中间人”，它位于各终结点应用程序之间，负责截获并转译看到的通信。通过这项配置，该应用程序还允许以纯文本解密格式查看加密的 HTTPS 通信。在该用户界面中，可以有序查看录制的会话，同时为您提供大量信息，包括页面、图像、脚本、样式表的基本要求以及基本的大小、延迟和计时的详细信息。您还可以查看每个请求要发送和接收的 Cookie 及其内容，甚至还可以选择阻止所有 Cookie。
使用 Charles Web 调试代理，通过验证“304 未修改”响应的上次修改日期，或在与缓存相关的标头通过该应用程序时，将其从相关请求和响应中删除以禁用缓存，可以解决请求缓存存在的问题。事实上，使用该应用程序的重写设置，可以定义一组规则，从而在请求和响应通过该应用程序时重写大量 HTTP 头或正文内容。您甚至可以使用该应用程序的 DNS 欺骗设置来覆盖主机的 IP 地址，这样即可测试可能尚未在 DNS 中注册的项的请求。例如，在测试新的 Web 服务器时，这种方法非常有用，可确保它在运行之前能够正常侦听和响应主机头。
还可以使用该工具来调试 AJAX 请求和响应，并查看响应的原始 XML 数据。在用户界面中，甚至还可以查看文本格式的原始请求和响应数据，从而帮助发现任何异常标头。
该工具提供了两种非常实用的数据布局，使您可以进一步了解数据事务：汇总表和图表。汇总表显示标头大小、正文大小、响应时间、响应代码、MIME 类型和资源，使您可以快速浏览请求/响应数据。另一方面，图表提供了图形生命周期时间线，显示按顺序出现的请求/响应数据以及该事务所花费的时间。
您可以保存录制会话，供以后重播和分析使用。对于捕获导致偶发性通信错误的棘手请求/响应流来说，这非常有用。您可以将 HTTP 跟踪文件导入到新的会话中，甚至还可以将当前会话导出为 CSV 格式或 HTTP 跟踪格式。
为了实现低带宽情况下的请求模拟（例如，尝试解决请求在企业网络中成功而在 56k 调制解调器线路中却失败的问题），该应用程序提供了限制功能，使您可以从一组常规预设中进行选择，或根据以下四个限制因素定义新的预设：带宽、利用率、往返延迟和最大转换单位。此外，还可以对调试代理进行配置，以将其用作还原代理或端口转发器，进而将本地端口有效绑定到远程终结点（和端口），以便发送到该端口的所有通信都会重定向到远程地址。

价格： 单用户许可证的起步直销价为 50 美元。
Charles Web Debugging Proxy analyzes HTTP traffic
Charles Web Debugging Proxy analyzes HTTP traffic

清除不必要的文件
Wise Disk Cleaner 2
wisecleaner.com
硬盘就像一个屋子，随着时间的推移屋内堆积了许多东西，而且这些东西都是不需要的废品。最好不定时地花一些时间来认真清理一下这些混乱的杂物。清理硬盘的几种常用方法都使用内置 Windows 工具，如系统工具、磁盘清理和搜索功能。但有时，使用快捷、易于使用的实用工具才是上策，如果可以免费使用当然就更好了。Wise Disk Cleaner 2 就是这样的工具，它可以搜索硬盘，查找其中存储时间太久且没用的文件，然后将其从系统中安全删除。
我喜欢此工具之处在于，它可以在用户界面中展示找到的所有文件，从而可以轻松发现其中的潜在问题。它还有另一不错的功能，即可以轻松添加其他文件模式以供检查和删除。如果需要，Wise Disk Cleaner 还可清除临时 Internet 文件，而且您可以选择保留 Cookie，这样就不会丢失其中可能存储的站点首选项。此外，还可以删除 Windows Update 卸载文件，并清除 Windows Update 源、最近文件列表以及 Windows 和用户临时文件夹。如果将首选项设置为永久删除这些项或仅将它们移到回收站，您甚至可以自动运行该应用程序。该应用程序会记录相关活动以便于以后检查，这对于一个免费工具来说，非常不错。

价格： 免费。
Wise Disk Cleaner 2 finds files that you can safely delete
Wise Disk Cleaner 2 finds files that you can safely delete

管理网络设备
iReasoning Networks MIB Browser Personal 版本
ireasoning.com/mibbrowser.shtml
如果您的基础结构中包含任何启用了简单网络管理协议 (SNMP) 的网络设备、应用程序或系统，iReasoning Networks MIB Browser 会允许您加载一组管理信息基础 (MIB) 文件并通过与 Windows 资源管理器类似的视图浏览层次结构。此时，您可以查看所选对象的详细信息，包括对象标识符 (OID)、语法、读/写权限和描述。
您可以轻松发出 SNMP 请求来通过用户界面从网络设备检索数据。只需键入设备的 IP 地址，选择 MIB 对象，然后单击“执行”即可。如果需要，还可以设置端口、SNMP 请求版本以及读写社区字符串。对代理进行更改同样很简单（如果设备允许）。只需选择 OID、数据类型和值，然后单击“确定”即可。此外，还有一个内置的“Trap Sender and Trap Receiver”实用工具，通过该实用工具您可以发布陷阱并观察陷阱活动（可以对此活动应用筛选器以便更轻松地查看目标设备）。
iReasoning Networks MIB Browser Personal 版本免费提供，但它不支持 SNMPv3 并且最多只能同时加载五个 MIB。您也可以考虑购买 Professional Edition（每个许可证直销价为 269 美元），其中包括附加功能，并支持 SNMPv3、网络发现和设备比较。

价格： 免费。
iReasoning Networks MIB Browser
iReasoning Networks MIB Browser

Greg Steen 是一位技术专家，他一直在寻找便于 IT 专业人员执行操作和开发任务的工具和方法。


 SQL 问与答: 内存配置、性能剖析、设置您的填充因子等等
SQL 问与答
内存配置、性能剖析、设置您的填充因子等等
Edited by Nancy Michell

内存配置
提示：更易于分析
您是否知道现在已能够将 PerfMon 与 SQL Server 2005 Profiler 相关联？
您可能已经注意到 SQL Server 计算机上性能监视器反映出来的 CPU 使用率出现峰值、内存消耗过度或整体性能下降，并可能很想知道导致性能异常的原因。在 SQL Server 2005 问世以前，必须使用 Profiler 来捕获跟踪，然后在 Enterprise Manager 中查看系统进程，最后捕获性能监视器日志 — 当然，这需要触发 PerfMon。使用上述所有工具完成全部任务后，还需要手动协调各个工具之间的事件来确定性能降低的原因。这就意味着需要费劲地逐个查看每个日志。虽然这个过程很乏味，但如果您希望了解出现性能问题的根本原因，就必须如此操作。
借助 SQL Server 2005，您仍需要捕获跟踪并检查 PerfMon 日志，但现在使用 Profiler 可让您直接连接这些日志。您可以滚动浏览 T-SQL 语句，Profiler 将自动以图形方式为您展示出现的问题。如果在 Profiler 的性能监视器用户界面中单击，就可跳转到与该时间戳关联的语句。这在对 SQL Server 环境进行故障排除时可节省大量时间。
让我们来看一下如何将 PerfMon 日志连接到 Profiler：
  1. 启动性能监视器并开始捕获来自数据库服务器的信息。
  2. 在“性能日志和警报”下创建新的计数器日志并输入新日志的名称。
  3. 添加新计数器，如 % Processor Time。您还希望将日志记录设置为手动启动，或者通过“计划”选项卡按计划启动。
  4. 单击“确定”，如果选择的是手动选项，请确保您要开始记录日志。
  5. 在 SQL Server 上通过 Profiler 设置跟踪。为此，您可以单击“文件”菜单上的“新建跟踪”。请确保跟踪中包括 StartTime 和 EndTime，然后命名此跟踪并将其设置为保存到某个文件。最后，必须冲击服务器以模拟某些事务活动，然后停止捕获性能监视器数据和 Profiler 数据。
  6. 在 Profiler 中，从“文件”菜单选择“导入性能数据”。接下来，选择存储 PerfMon 日志的位置，然后选择“文件”|“打开”|“跟踪”。最后，选择存储 Profiler 跟踪的位置。
完成后，您将体会到找出特定 SQL 语句对处理时间的影响是多么的容易。

问：我正在尝试寻找最适合我的 SQL Server™ 组件的内存配置。先前的管理员对 SQL Server 2000 两节点群集上每台 12GB RAM 的计算机的 Boot.ini 进行了如下设置：Yes /PAE NO /3GB（SQL Server 的设置为 No AWE）。在 12GB RAM 可用的情况下，我是否应删除 Boot.ini 中的 /3GB 开关，打开 AWE，并将这 12GB 中的 10GB 分配给 SQL Server？运行 SQL Server 的计算机上没有任何其他程序，因此没有其他应用程序需要内存。
答：是的，您应该打开地址窗口化扩展插件 (AWE)，并为 SQL Server 预分配一个 RAM 上限 — 对于有 12GB 专用 RAM 的 SQL Server 组件而言，10GB 听起来很合适。（请注意，预分配只对 SQL Server 2000 有效。自 SQL Server 2005 起，使用 AWE 已不再是静态的，可以进行动态更改。）对于应同时使用 /3GB 开关和 /PAE 开关还是只使用必要的 /PAE 开关，一直存在很大争议。尽管您真正需要的仅是设置 /PAE 和启用 AWE，但我还是建议您同时使用这两个开关；不过，需要考虑一些因素。
是否使用 /3GB 开关取决于是否会在特定情形下用到它。必须位于虚拟地址空间中前 2GB 或 3GB 的内存 MemToLeave 区域是否会不足？如果启用此开关，是否会使操作系统内存不足？（有关详细信息，请参阅 support.microsoft.com/kb/316739。）如果使用的是群集，您可以仅在其中一个节点上设置 /3GB。这样，如果正在使用 /3GB 进行测试并遇到了问题，您就可以快速将该实例故障转移到其他节点。请记住，如果您的 RAM 大于 16GB ，则不支持 /3GB 开关。
通过使用 /3GB，可以将虚拟地址空间 (VAS) 增加 50%，这样，不止数据缓存受益匪浅，导致 VAS 内存不足的应用程序也同样受益。幸运的是，64 位服务器（IA64 和 x64）消除了这一令人误解的因素。如果计算机专用于 SQL Server，则有关操作系统内存不足的考虑不适用。为操作系统保留 2GB 就显得有点多余了；如果此服务器专用于只运行标准的小型操作系统服务的 SQL Server，您会发现此服务器上还有大约 1.3GB 的可用内存，因此您不妨让 SQL Server 使用这额外的 1GB。先分配 10GB，使用 PerfMon 长时间监视可用内存以查看可用内存量，然后进行相应调整。请记住，如果在 SQL Server 2000 上过多提交，可能会导致交换的发生，因为 AWE 的动态性不像在 SQL Server 2005 中那样好。确定是否使用 /3GB 开关的主要方法是在特定环境中对其进行测试。

复制的实例名称
问：现在，我是否能够在 SQL Server 2005 复制中使用我的服务器的 IP 地址来指示要复制哪些实例？根据“如何在不受信任的域中或跨 Internet 的运行 SQL Server 的计算机之间进行复制”(support.microsoft.com/kb/321822)，我们知道在 SQL Server 2000 中这样操作会导致错误，但我不知道在 SQL Server 2005 中是否同样如此。
答：指定要参与复制的服务器实例时，必须提供 SQL Server 注册的实例名称。例如，在命令行上将 Publisher 或 Subscriber 参数指定到复制存储过程或复制代理连接设置时，必须使用 SQL Server 实例名称。如果 SQL Server 实例的网络名称与注册实例名称不同，则通过代理进行的复制连接会失败。
如果实例的网络名称与 SQL Server 实例名称不同，建议添加 SQL Server 实例名称作为有效的网络名称。设置替换网络服务名称的一种方法是将其添加到本地主机文件。默认情况下，本地主机文件位于 WINDOWS\system32\drivers\etc 或 WINNT\system32\drivers\etc 下。例如，如果计算机名称是 comp1，计算机的 IP 地址是 10.193.17.129，并且实例名称是 inst1/instname，则将下列条目添加到主机文件：
10.193.17.129 inst1

SQL Server Integration Services
问：我正在为 SQL Server 2005（64 位企业版本，两台服务器）安装主动/主动群集，这样我将拥有一共四个 SQL Server 2005 实例。所有实例都需要 SQL Server Integration Services (SSIS)。您是否能告诉我关于群集化 SSIS 的相关信息及其对维护计划的影响？
答：尽管能够群集化 SSIS 服务，但其实不必这样做，而且这样做可能还会遇到各种问题，包括不支持委派（请参阅 msdn2.microsoft.com/aa337083），而且不是多实例的 — 每个节点上一次只能运行一个实例。
以前，必须安装 SSIS（只安装但不运行）才能运行维护计划向导。不过，这种情况在 SQL Server 2005 SP1 中已经不存在了。如果 SSIS 未运行，可以由 SQL Server 代理来执行维护计划。
不必群集化 SSIS，您可以考虑将 SSIS 作为一项独立服务一直运行，并编辑 MsDtsSrvr.ini.xml，使其指向所有正在运行中的任意实例。这样，您就能够从任何节点管理程序包并提供大多数客户寻求的高可用性，而不会遇到与使服务群集化相关的任何问题。
有关创建维护计划失败的详细信息，请务必参阅知识库文章 support.microsoft.com/kb/909036。

执行时间怪异
问：在对 SQL Server 2005 SP1 组件进行加载测试期间，SQL Server Profiler 记录的存储过程 (SP) 执行时间有许多负值，并且在某些情况下，SP 执行时间与结束时间减去开始时间得出的值不匹配。
答：影响 SQL Server Profiler 中的 SP 执行时间和其他性能时间报告的因素有很多。请记住，SQL Server 2005 使用毫秒计算执行时间，如果您使用的技术更改了此计量单位，就会得到不一致的报告和不合乎情理的执行时间。
例如，如果使用其他电源使用方案，CPU stepping 或 AMD Cool 'n Quiet 技术，则会更改 CPU 频率，这样就会使计算执行时间的结果与 SQL Server Profiler 的预期值不匹配。
support.microsoft.com/kb/931279 上提供的知识库文章介绍了与此相关的症状、各种原因以及一些补救措施。
提示：检查填充因子
假如您有一个盛满水的玻璃杯，您要尝试再向这个玻璃杯中加水。结果会怎样呢？水会溢出来。
SQL Server 的情况也是如此。当索引页填充满时，如果尝试添加新行，则 SQL Server 会将大约一半的行移动到新页，以便为新添加的行腾出空间。这就是通常所说的“页面分割”。页面分割可为新记录腾出空间，但却既费时又非常耗费资源，并且会产生碎片，从而可能对 I/O 操作产生负面影响。那么，如何避免此类情况呢？
要防止此类情况的发生，必须主动确定填充因子值。创建或重新构建索引后，填充因子值会确定每个叶级页中用于填充数据的空间百分比，其余部分留作将来扩充之用。例如，将填充因子值配置为 60 就意味着每个叶级页的 40％ 都是空的，以便在向基础表中添加数据时为索引扩展提供空间。
默认填充因子值始终是 0，此值对大多数情况都适用。一般来讲，填充因子值为 0 意味着叶级别几乎已填满，但留出了一些空间，至少能再添加一个索引行。（请注意，填充因子为 0 和 100 是相似的。）
您可以在 CREATE INDEX 或 ALTER INDEX 语句中设置各个索引的填充因子值，也可以直接在服务器级别上配置此值，以便所有新建索引都使用默认值。
以下示例在服务器级别将填充因子值设置为 70％，这就意味着您将有 30％ 的可用空间供以后扩展使用。当然，在实施到生产环境前，必须先认真测试此选项。
USE Master; GO SP_Configure 'show advanced options',1; GO SP_Configure 'Fill Factor', 70; GO --必须重新启动 SQL Server 引擎以使更改生效。
如果您希望在单个索引级别上配置填充因子，应如何操作呢？假设您正在构建下表，并希望对名为 Col_A 的列创建唯一索引，且填充因子值为 70。此时该命令应类似于下面的命令：
--Create an Item table USE Item_DB; GO CREATE TABLE ITEM (Col_A Varchar(100),Col_b Varchar(200)); GO;

--Create a unique index on colum Col_A of Item table with a Fill Factor value of 70 CREATE UNIQUE INDEX AK_Index ON Item (Col_A) WITH (FillFactor = 70); GO
如何识别每个索引的填充因子？可以查询 sys.Indexes 以从数据库中获取所有索引的填充因子值，如下所示：
USE Item_DB; GO SELECT Fill_Factor FROM Sys.Indexes WHERE Object_id=object_id('item') AND name IS NOT NULL; GO


 实用程序特别推荐: Microsoft 安全评估工具
实用程序特别推荐
Microsoft 安全评估工具
Lance Whitney
下载这篇文章的代码: Microsoft Security Assessment Tool 3.0（仅英文版） (10547.2KB)

跟踪 解决网络安全问题可能相当棘手且费时。您可以利用工具来帮助确定和消除安全风险，Microsoft® 安全评估工具 (MSAT) 就是这样一个工具，这个免费实用程序提供一个电子调查表，您可通过该表描述自己的安全环境。MSAT 专为拥有 50 至 500 台计算机的中型组织设计，它提出以不同类别组织的 172 个问题，然后分析您的情况并建议如何改进。
MSAT 首先询问有关您的业务模型的一系列问题，用来创建业务风险概要 (BRP)，以评估您的组织相对于业界其他组织的安全风险。完成调查表通常需要两个小时，您可以随时停止和继续。类别和问题示例如下所示：
基本信息 贵组织拥有多少客户端和服务器？
基础结构安全性 您的员工是否进行远程工作？是否有外包人员访问您的网络？
应用程序安全性 贵公司是否开发应用程序？是否存储您的应用程序处理的敏感数据？
操作安全性 您的企业网络是否连接到外部网络？贵组织是否接收外部各方的数据馈送？
人员安全性 贵公司是否外包计算机维护任务？是否允许员工将公司的敏感数据下载到他们的工作站？
环境 贵组织有多少名员工？IT 部门的人员流动率是否很高？
接下来 MSAT 会生成一份评估，该评估使用称为纵深防御指数 (DiDI) 的衡量标准，该标准侧重于您已采取的安全性过程。使用同一类别的典型问题包括：贵组织是否在每个位置都使用防火墙？是否在 Microsoft Office 应用程序中使用自定义宏？您的用户是否拥有对其工作站的管理权限？您是否有用于向 PC 部署修补程序和更新的策略？
MSAT 会针对您的回答提供三个报告。摘要报告以条形图显示结果。BRP 分数越高表示越危险，DiDI 分数越高表示越安全。虽然根据 MSAT 所示，低 BRP 和高 DiDI 可能看起来很好，但实际上检查各个区域更为重要。因此，完整报告会指示针对每个区域，您的情况是否符合最佳实践、是否需要改进或是否严重缺乏安全性（请参阅图 1）。
Figure 1 The complete report
Figure 1 The complete report
最后，比较报告要求您将结果匿名上传到安全的 MSAT 网站，在该网站上您可以将自己的结果与其他组织的结果进行比较。
您可以从 Microsoft Security Guidance 网站 securityguidance.com 或者从《TechNet 杂志》网站 technetmagazine.com/code07.aspx 下载该工具。

Lance Whitney 是一位 IT 顾问、培训师和技术撰稿人。他投入了很多的时间和精力来改进 Windows 工作站和服务器。15 年前，记者出身的 Lance 开始涉足 IT 世界。


 网络专家: 网络策略服务器
网络专家
网络策略服务器
Joseph Davies
本专栏基于 Windows Server 2008 的预发布版。文中的所有信息均可能发生变更。

Windows Server 2008 中的网络策略服务器 (NPS) 服务取代了 Windows Server 2003 中的 Internet 身份验证服务 (IAS)。NPS 允许运行 Windows Server 2008 的计算机充当远程身份验证拨入用户服务 (RADIUS) 服务器和代理。RADIUS 是在 RFC 2865 和 2866 中指定的 Internet 工程任务
组 (IETF) 协议，可为网络访问设备（如无线访问点）提供集中的身份验证、授权和帐户管理 (AAA)。RADIUS 服务器为网络访问设备执行 AAA。RADIUS 代理在 RADIUS 客户端（网络访问设备）和 RADIUS 服务器之间转发 RADIUS 消息。
NPS 包括许多增强功能，可对部署经过身份验证的网络访问提供便利、扩展第三方组件并支持最新的网络技术和平台。新 NPS 管理单元如图 1 所示。
Figure 1 The new NPS snap-in
Figure 1 The new NPS snap-in

网络策略服务器功能
在本专栏中，我将介绍 NPS 功能，Windows® 的先前版本不包括这些功能。首先，我将介绍网络访问保护 (NAP) 如何为网络强制实施运行状况要求，然后介绍管理、配置、IPv6 支持以及其他元素。此外，我还将介绍新 NPS 管理单元的功能。
网络访问保护 NAP（已在 Windows Server® 2008 中引入）是一套新技术，有助于强制遵守计算机运行状况要求，同时允许您更好地保护 Intranet。例如，您的运行状况策略可以指定必须安装并启用防火墙，以及连接到您的网络的所有客户端都必须安装最新的操作系统更新。使用 NAP，您可以创建自定义的策略，以便在允许网络访问或通信之前确认计算机的运行状况，自动更新计算机以确保持续的符合性，并在违规计算机遵从符合性前对其进行网络限制。有关详细信息，请参见 microsoft.com/nap。
在 NAP 部署中，NPS 服务器是 NAP 运行状况策略服务器，可代表 NAP 强制点（如健康注册授权 (HRA)、802.1X 访问点、虚拟专用网络 (VPN) 服务器以及动态主机配置协议 (DHCP) 服务器）评估 NAP 客户端的运行状况。NPS 服务器还确定应授予客户端对 Intranet 的完全访问权限还是受限访问权限。网络策略、运行状况策略和 NAP 设置确定了 NPS 的运行状况评估行为。
EAPHost 和 EAP 策略支持 NPS 支持 EAPHost，后者是可扩展的身份验证协议 (EAP) 身份验证方法的一种新体系结构。使用这种新的体系结构，EAP 方法供应商可以同时在客户端计算机和 NPS 服务器上针对 802.1X 或基于点对点协议 (PPP) 的身份验证轻松开发并安装新的 EAP 方法。
EAPHost 将支持安装和使用 EAP 注册表 www.iana.org/assignments/eap-numbers 上列出的所有 EAP 方法，还支持其他常用的身份验证方法，如 Cisco Systems 轻型 EAP (LEAP)。EAPHost 允许 EAP 方法的多个实现共存。例如，您可以同时安装和选择受保护的 EAP (PEAP) 的 Microsoft 版本和 Cisco Systems 版本。
对于 EAP 方法供应商，EAPHost 支持已针对 Windows XP 和 Windows Server 2003 开发的 EAP 方法，并提供了一种更为简单的方法，用于为 Windows Vista® 和 Windows Server 2008 开发新的 EAP 方法。安装完成后，可以在网络策略中为给定的网络访问方案配置所需的 EAP 方法。NPS 的网络策略与 IAS 的远程访问策略相同。
有关 EAPHost 体系结构的详细信息，请参见 technetmagazine.com/issues/2007/05/CableGuy。
XML 中存储的配置 IAS 将其配置信息存储在 Jet 数据库中。现在，NPS 以 XML 格式存储配置信息，这样更易于导出一个 NPS 服务器的配置，然后再将其导入另一个服务器。导出和导入配置文件是对容错配置中多个 NPS 服务器设置进行同步的一种方法。可以使用 netsh nps 导出命令导出 NPS 配置，然后再使用 netsh nps 导入命令将其导入。
通用工程标准符合性 NPS 已经更新，可支持在必须符合 Microsoft® 通用工程标准 (CEC) 的环境中进行部署。有关详细信息，请参见 microsoft.com/windowsserversystem/cer/allcriteria.mspx。
功能强大的 NPS 扩展 DLL NPS 服务可通过扩展和授权 DLL 进行扩展。与 IAS 相比，这些第三方组件在 NPS 中采用沙箱安全机制，以便遇到的任何问题都不会影响 NPS 服务的操作或运行。
IPv6 支持 NPS 支持 IPv6 以及在本机或以隧道方式运行的 IPv6 环境中进行部署。可以为 RADIUS 客户端或远程 RADIUS 服务器配置 IPv6 地址，NPS 服务也可以通过 IPv6 进行通信，从而执行 Active Directory® 域服务帐户身份验证和授权操作。
IAS 与 NPS
如果您已经熟悉 Windows Server 2003 的 IAS 管理单元，您会欣赏 NPS 管理单元中的以下更改：
  • 远程访问策略已成为网络策略，并且已经移动到“策略”节点下。
  • “RADIUS 客户端”节点已经移动到“RADIUS 客户端和服务器”节点下。
  • “连接请求处理”节点已经不存在。“连接请求策略”节点已经移动到“策略”下，并且“远程 RADIUS 服务器组”节点已经移动到“RADIUS 客户端和服务器”下。
  • 远程访问策略条件和配置文件设置已在网络策略属性的“概述”、“条件”、“限制”和“设置”选项卡上进行重组。
  • 连接请求策略条件和配置文件设置已在连接请求策略属性的“概述”、“条件”和“设置”选项卡上进行重组。
  • “远程访问日志记录”文件夹已重命名为“帐户”节点，而且不再具有本地文件或 SQL ServerTM 节点。

自动生成功能强大的 RADIUS 共享机密 RADIUS 共享机密用于验证具有相同共享机密配置的 RADIUS 客户端、服务器或代理是否已发送 RADIUS 消息。共享机密还可用于加密一些敏感的 RADIUS 属性（如密码和加密密钥）。功能强大的 RADIUS 共享机密由一长串（超过 22 个字符）的随机字母、数字和标点组成。
使用 NPS 管理单元，可在添加或编辑 RADIUS 客户端时自动生成功能强大的 RADIUS 共享机密。可以将此功能强大的共享机密复制到文本编辑器（如 Notepad），以便使用相同的共享机密来配置网络访问设备或 NAP 强制点。
与服务器管理器集成 您可以通过“初始配置任务”和“服务器管理器”工具安装 NPS。在这两种情况下，将使用网络策略和访问服务角色来安装 NPS。要开始安装，请在“自定义此服务器”下的“初始配置任务”工具中，单击“添加角色”选项。在“服务器管理器”工具中，打开“角色摘要”，然后单击“添加角色”。
安装 NPS 后，单击服务器管理器控制台树中“角色”节点下的“网络策略”和“访问服务”，以检查 NPS 服务的状态并查看最近 24 小时内遇到的错误事件。扩展控制台中的“网络策略和访问服务”节点时，可以使用 NPS 管理单元配置 NPS。
增强的 Netsh 支持 Windows Server 2003 的 netsh aaaa 上下文中包含一组有限的命令，用于配置 IAS。在 Windows Server 2008 中，新的 netsh nps 上下文包含大量命令，可以在命令行中配置 NPS，也可以通过脚本进行配置。现在，您可以使用 netsh nps 命令配置 RADIUS 客户端和远程 RADIUS 服务器、网络策略、日志记录，还可以为 NAP 配置运行状况策略、系统健康验证程序和更新服务器组。由 netsh nps 上下文中的命令组成的脚本为您同步容错配置中多个 NPS 服务器的设置提供了另一种方法。
网络策略隔离的源标记 可以为特定类型的网络访问服务器或 NAP 强制点（如 DHCP 服务器或 HRA）配置网络策略，这将成为用于分类网络策略的一种源标记。基于 Windows Server 2008 的访问服务器和 NAP 强制点的 RADIUS 消息中都包含此源标记。收到请求访问的 RADIUS 消息后，NPS 服务会尝试查找与传入消息具有相同源标记的匹配网络策略。如果没有匹配的策略，NPS 将尝试在未指定源标记的策略中查找匹配的网络策略。
使用网络策略和传入 RADIUS 消息中的源标记分隔不同类型的网络策略。例如，DHCP 服务器的网络策略不能用于 VPN 连接。
与 Cisco 网络访问控制集成 NPS 支持可以更好地集成到使用 Cisco 硬件和网络访问控制 (NAC) 的环境中的一些功能。这些功能包括支持主机凭据身份验证协议 (HCAP) 和 HCAP 条件、策略终止条件以及网络策略中的扩展状态网络访问保护设置。
新的网络策略条件 NPS 中的网络策略包含一些新条件，这些条件旨在指定计算机组、用户组、允许的 EAP 类型以及客户端和访问服务器 IPv6 地址。为了实现 HCAP 支持，NPS 包含针对本地组和用户组的新条件。为了实现 NAP 支持，NPS 包含针对标识类型、运行状况策略、支持 NAP 的计算机、操作系统以及策略终止的新策略条件。
NPS 管理单元 新的 NPS 管理单元已得到显著增强，您可以更轻松地创建和管理 RADIUS 客户端和远程 RADIUS 服务器、常见网络访问方案的网络策略、运行状况策略、NAP 方案的 NAP 设置以及日志记录设置。
在“RADIUS 客户端和服务器”节点中，您可以配置 RADIUS 客户端（当 NPS 充当 RADIUS 服务器时为网络访问服务器、NAP 强制点或其他 RADIUS 代理）和远程 RADIUS 服务器组（当 NPS 充当 RADIUS 代理时为其他 RADIUS 服务器）。
在“策略”节点中，可以配置连接请求策略（无论 NPS 服务是充当 RADIUS 服务器还是代理）、网络策略（当 NPS 服务充当 RADIUS 服务器时为授权和连接设置以及限制）和运行状况策略（NAP 客户端的系统健康状况符合性）。在“详细信息”窗格中选择连接请求策略或网络策略时，NPS 管理单元会显示该策略的条件和设置。图 2 中显示了类似示例。
Figure 2 The NPS snap-in enhanced display
Figure 2 The NPS snap-in enhanced display
在“网络访问保护”节点中，“系统健康验证程序”节点允许您配置 NAP 运行状况要求。使用“更新服务器组”节点，您可以将服务器集配置为允许受限的 NAP 客户端访问 VPN 和 DHCP NAP 强制方法。最后，在“帐户”节点中，您可以配置 NPS 存储帐户信息的方式。
NPS 管理单元包括大量向导集，可以自动完成 RADIUS 客户端的初始配置、NAP 强制方法所需的策略、拨号或基于 VPN 的连接以及通过身份验证的 802.1X 无线连接和有线连接。对于 NAP 强制方法，NAP 向导会自动配置所有连接请求策略、网络策略和运行状况策略。
单击 NPS 管理单元中的“NPS”节点可使用这些新向导。要为 NAP 强制方法配置策略和设置，请选择“标准配置”下拉框中的“网络访问保护”，然后单击“配置 NAP”。要为 VPN 或拨号网络访问配置策略和设置，请在“标准配置”下拉框中为“拨号”或“VPN 连接”选择 RADIUS 服务器，然后单击“配置 VPN”或“拨号”。要为通过身份验证的 802.1X 无线访问或有线访问配置策略和设置，请在“标准配置”下拉框中为 802.1X 无线连接或有线连接选择 RADIUS 服务器，然后单击“配置 802.1X”。
上述每个向导都会为您介绍所选方案中最常见的配置元素。NAP 强制方法的向导尤其有用：VPN 强制的 NAP 向导将创建一个连接请求策略、三个网络策略（分别适用于兼容的 NAP 客户端、不兼容的 NAP 客户端及不支持 NAP 的客户端）以及两个运行状况策略（分别适用于兼容的和不兼容的 NAP 客户端）。
通过新的 NAP 向导和用于创建 RADIUS 客户端、远程 RADIUS 服务器组、连接请求策略和网络策略的其他向导，可以更轻松地为各种网络访问方案配置 NPS。

Joseph Davies 是 Microsoft 的一位技术撰稿人，从 1992 年起一直从事 Windows 网络主题的培训和编写工作。他曾为 Microsoft Press 编写了五本著作，是每月在线 TechNet 网络专家专栏的作者。


 Windows PowerShell: 深入了解
Windows PowerShell
深入了解
Don Jones

Windows PowerShell 中有很多功能经常被许多管理员忽略。如果深入研究，您会发现很多意想不到的功能。实际上，我本人就经常发现自己会找到与自认为已非常了解的某个 Cmdlet 相关联的新功能。
在我教的 Windows PowerShellTM 课程中，我建议管理员为自己制定每日一个 Cmdlet 日历，这与您可能使用的每日一词日历相似。然后，工作日的每天早上（我让他们周末休息），他们可以用几分钟时间熟悉一个 Cmdlet 的完整功能。Windows PowerShell 附带了大约 130 个 Cmdlet，这意味着您只要坚持执行这个计划，那么只需要大约 6 个月的时间就可以了解 Windows PowerShell 的一切。到那时，您即可准备使用 Exchange Server 2007 的所有 Cmdlet。
在本月的专栏中，我想提供一些示例，说明您只要花费几分钟深入探索各个 Cmdlet 的功能，就可能会发现有价值的内容，并可能取得成果。

精致的 HTML 报表
一个在很大程度上没有得到充分利用的 Cmdlet 是 ConvertTo-HTML。这个智能的 Cmdlet 可以接受输入对象集合（服务、进程、Windows® Management Instrumentation (WMI) 对象等），并可将其转换为 HTML 表。接着您可以将 HTML 输送到 Out-File，然后就可以得到一个适合在 Intranet Web 服务器上发布的 HTML 页。例如，您可以安排以下简单的命令行在每天早晨运行：
Gwmi Win32_Service | Where { $_.StartMode –eq "Auto" –and $_.State –ne "Running" } | ConvertTo-HTML | Out-File C:\ServiceAlert.html
这将创建一个与图 1 内容相似的 HTML 报表，其中显示本应自动启动但尚未运行的服务。
Figure 1 An HTML report of services that aren't running
Figure 1 An HTML report of services that aren't running
当然，您可能想生成更吸引人的报表。幸运的是，ConvertTo-HTML Cmdlet 生成的是干净的 HTML，这意味着它不会在创建的 HTML 代码中嵌入任何格式。根据 HTML 的规则，应避免在 HTML 中嵌入格式（也就是应该尽可能减少嵌入格式），而应在外部级联样式表 (CSS) 中嵌入格式，并将 CSS 链接到 HTML。您可以使用 ConvertTo-HTML 创建该链接。
CSS 链接到 HTML 文件的 <HEAD> 部分。看一下 ConvertTo-HTML 的帮助，您会发现其语法中包括一些您可能忽略了的参数：
ConvertTo-Html [[-property] <Object[]>] [-inputObject <psobject>] [-body <string[]>] [-head <string[]>] [-title <string>] [<CommonParameters>]
–head 参数允许您指定要插入到脚本 <HEAD> 部分的其他 HTML 代码。现在我可以轻松修改我的一行代码，使其链接到现有的 CSS 文件，该文件包含我希望应用于 HTML 表的格式：
Gwmi Win32_Service | Where { $_.StartMode –eq "Auto" –and $_.State –ne "Running" } | ConvertTo-HTML -title "Services" -head "<link rel='stylesheet' href='styles.css' type='text/ css' />" | Out-File C:\ServiceAlert.html
在此，我使用了 –head 参数插入指向 CSS 文件的链接，该文件与输出 HTML 文件位于同一文件夹内。我还使用了 –title 参数设置网页的标题。最后的输出结果如图 2 所示。我在 Style.CSS 文件中使用的文本如下所示：
Figure 2 An HTML report that is formatted with a CSS file
Figure 2 An HTML report that is formatted with a CSS file
body { background-color:#EEEEEE; } body,table,td,th { font-family:Tahoma; color:Black; Font-Size:10pt } th { font-weight:bold; background-color:#CCCCCC; } td { background-color:white; }

筛选更轻松
本月 Cmdlet
本月我将介绍一个 Cmdlet 对：Start-Transcript 和 Stop-Transcript。它们都用于控制 Windows PowerShell 脚本记录，也就是将出现在控制台窗口中的所有内容写入您指定的文本文件中。使用起来非常简单。运行 Start-Transcript，并指定一个文件名开始此过程。然后，运行 Stop-Transcript 结束记录并关闭该文件。这为从使用临时外壳进入正式脚本提供了一个好办法 — 在外壳中使各个命令行正常工作之后，可以从您创建的记录文件复制并粘贴它们。当然，您也可以编辑该脚本记录，使其成为真正的脚本。我的最有价值同事 Jeffery Hicks 甚至编写了用于分析脚本记录并将其转换为 Windows PowerShell PS1 文件的脚本。您可以在以下位置找到此脚本：blog.sapien.com/current/2006/11/28/powershell-transcripts.html。

现在，我们来看一下 Get-WMIObject Cmdlet。Windows PowerShell 内置帮助中列出的语法提示了它未被利用的功能：
Get-WmiObject [-class] <string> [[-property] <string[]>] [-namespace <string>] [-computerName <string[]>] [-filter <string>] [-credential <PSCredential>] [<CommonParameters>]
新 Windows PowerShell 用户常犯的一个错误是发出类似下面的 WMI 命令：
Gwmi Win32_NTLogEvent –comp Server2
此命令会检索 Server2 中的事件日志条目 — 所有事件日志条目。该任务会花费一段时间以供 Server2 进行处理和传输，而 Windows PowerShell 要利用这样一个大型集合，也会花费相当长的时间。
更好的解决办法是使 Server2 查找和发送您真正关心的事件。使用 WMI 查询语言 (WQL) 查询一定可以达到此目的。有人认为查询语法很难，但是利用 Windows PowerShell，您可以只使用 –filter 参数指定 WQL 查询的筛选部分：
Gwmi Win32_NTLogEvent –comp Server2 –filter "EventIdentifier=1024"
此命令会检索所有日志中事件 ID 为 1024 的所有事件。请注意，筛选条件使用 = 作为比较运算符，而不是 Windows PowerShell 的 –eq 运算符。这是因为筛选器只会传递到远程计算机的 WMI 服务进行处理，因此该条件需要使用 WMI 语法，而不是 Windows PowerShell 语法。
实际上，其他 Cmdlet 也具有 –filter 参数，如 Get-ChildItem，该 Cmdlet 还使用 Dir 和 Ls 等别名。在大多数情况下，–filter 参数将筛选条件直接传递到底层技术，生成我称之为源筛选的结果；与返回所有对象然后通过运行 Where-Object Cmdlet 筛选掉不需要的对象相比，这通常要快得多。

被忽略的 Cmdlet
这种每天学习一个 Cmdlet 的方法的确可以帮助您更好地了解您认为已经了解的 Cmdlet。但是使用每天一个 Cmdlet 日历还有另一个好缘由，就是这样可以完全避免遗漏某些 Cmdlet，采用其他方式则可能根本不会发现这些 Cmdlet。我最喜欢的一个，也是很多人都不使用的一个 Cmdlet，是 Resolve-Path。如果为该 Cmdlet 指定一个通配符路径，它将返回与该路径匹配的文件和文件夹名称的集合。它与 Get-ChildItem Cmdlet（也就是大家熟悉的 Dir 或 Ls 别名）相似，但是它不返回全部文件和文件夹对象，而是返回可以输送到其他 Cmdlet 以便进一步筛选或处理的简单字符串。它使用起来很简单：
Resolve-Path C:\P*
这个简单的命令行将返回诸如 C:\Program Files、C:\Processes.txt 的路径。图 3 显示了使用此 Cmdlet 的两个示例。
Figure 3 Using the handy, though overlooked, Resolve-Path cmdlet
Figure 3 Using the handy, though overlooked, Resolve-Path cmdlet

从头开始
如果您已经准备好开始每日一个 Cmdlet 的计划，请运行 Gcm（Get-Command 的别名）。将显示 Windows PowerShell 知晓的所有 Cmdlet 的列表，包括您通过管理单元添加的 Cmdlet，如 Exchange Server 2007 命令行管理程序、PowerShell Community Extensions 等。选择该列表中的第一个 Cmdlet（我选择的是 Add-Content），并阅读其帮助：
Help Add-Content –full
您需要的是完整的帮助（而不是较为简明的默认帮助），以便得到对每个参数的含义的完整描述，看到该 Cmdlet 的一些使用示例，并了解其他详细信息。花费一点时间试用该 Cmdlet。（您可能要使用虚拟机，以便不影响生产环境。）我建议您每个工作日留出 10 分钟的时间，而且每天大致在相同的时间，这样学习就可以成为一种习惯。用不了多长时间，您就可以深入了解 Windows PowerShell 提供的所有功能。

Don Jones 是 SAPIEN Technologies 的首席脚本权威和《Windows PowerShell: TFM》(SAPIEN Press, 2007) 的合著者。您可以通过 www.ScriptingAnswers.com 与他联系。


 您好，脚本专家！: WinRM 系列文章第二部分发布了
您好，脚本专家！
WinRM 系列文章第二部分发布了
The Microsoft Scripting Guys

当脚本 专家开始着手创建关于 Windows® 远程管理 (WinRM) 的由两部分组成的系列文章时，一个非常重要的问题摆在了眼前：安全性。毕竟，我们脚本专家非常了解哈里波特系列的最后一部发行时随之产生的问题：因一时疏忽，导致该书的预订副本提早交付，并且其发行日期早于官方发行日期。（这是否会产生问题呢？当然不会；出版社只是建议读者在发行日期前不要阅读这本书。）
但这也仅是冰山一角。本书上市之前，该书的内容和系列的结局就已经泄露了。（也许您尚未阅读过本书，其内容如下：哈里波特实际上就是某类巫师或具有类似身份的人！）同样，有时作者 J. K. Rowling 甚至尚未交稿，读者就可以通过 Internet 立即获得草稿的扫描副本。总而言之，这是一种轻微的安全崩溃，脚本专家决定要坚决制止这种情况发生在自己身上。毕竟，如果人们如此顽固地泄露哈里波特系列的结局，那么可以想象，假以时日，他们可能就会将触角伸向脚本专家按两部分撰写的 WinRM 系列文章的完结篇。
幸运的是，脚本专家能够抵制这种情况的发生，保守自己的秘密。当然，这主要是因为直到交稿截止日期的前一刻，他们才真正写完该系列的第二部分。但是，八月份是撰写此专栏的脚本专家休假的日子，和绝大多数 Microsoft 员工不同的是，他从来不在休假期间看电脑，更别提使用电脑了。
情况确实如此，照这样看来：即使是休假以外的时间，他也很少看电脑，更别提使用电脑了。但这是另外一回事。
不管怎样，我们知道你们许多人在过去的四个星期中都是辗转反侧，彻夜难眠，一直担心 WinRM 传奇将以何种方式结束。值得高兴的是，在漫长痛苦的期待中饱受煎熬的不眠之夜终于结束了。这里，脚本专家撰写的 WinRM 系列文章（共两部分）激动人心的尾声终于第一次揭晓了。实际上，图 1 包含了上述所有信息。
Figure 1 The denouement (Close Figure 1)
strComputer = "atl-fs-01.fabrikam.com"

Set objWRM = CreateObject("WSMan.Automation") Set objSession = objWRM.CreateSession("http://" & strComputer)

strDialect = "http://schemas.microsoft.com/wbem/wsman/1/WQL" strResource = "http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/*" strFilter = "Select Name, DisplayName From Win32_Service Where State = 'Running'"

Set objResponse = objSession.Enumerate(strResource, strFilter, strDialect)

Do Until objResponse.AtEndOfStream strXML = objResponse.ReadItem

    Set objXMLDoc = CreateObject("Microsoft.XMLDom") objXMLDoc.async=False objXMLDoc.loadXML(strXML)

    Set objElement = objXMLDoc.documentElement Wscript.Echo "Name:" & objElement.ChildNodes(0).ChildNodes(0).NodeValue Wscript.Echo "Display Name:" &  objElement.ChildNodes(1).ChildNodes(0).NodeValue Wscript.Echo Loop
是的，我们知道：故事情节的跌宕起伏也会让我们的心跟着七上八下。objElement.ChildNodes(0).ChildNodes(0).NodeValue!谁知道接下来会发生什么事？当然，因为这在我们的安全锁定范围内，即使脚本专家自己也不知道该系列将如何结束。但是现在秘密公开了。
在进一步探讨之前，我们应将该系列作为一个整体快速回顾一下，以防有人因为不理解而无法读懂第 1 部分（该部分已在 technetmagazine.com/issues/2007/11/HeyScriptingGuy 上提供）。 现在回到第 1 部分，我们在该部分中引入了 WinRM，Windows Server® 2003 R2、Windows Vista® 和 Windows Server 2008 中都提供了这项新技术，使用该技术可更轻松地通过 Internet 甚至防火墙管理计算机。当然，Windows 管理规范 (WMI) 始终能够远程管理计算机；但是 WMI 依赖分布式 COM (DCOM) 作为其远程管理技术。这并没有什么问题，只是在默认情况下，许多防火墙都会阻止 DCOM 通信。的确，您可以打开相应的端口并允许 DCOM 通信，但许多网络管理员并不愿意这样做，他们很担心为 DCOM 放行的同时还会带来各种类型的恶意损害。
因此，WinRM 是“WS-Management 协议的 Microsoft 实现，该协议是标准的基于 SOAP 的协议，它不受防火墙的影响，允许不同供应商的硬件和操作系统相互操作。”这只是对目前能够使用标准 Internet 协议（如 HTTP 和 HTTPS）执行远程管理的另一种说法。
正如我们上个月所讲的，使用 WinRM 可以轻松地连接到远程计算机并从中检索 WMI 信息。那么，这是否意味着它是一项非常完美的技术呢？当然不是，最起码并不完全是这样。正如我们前面所指出的，当 WinRM 将数据发送回调用脚本时，该数据会以 XML 格式返回。毫无疑问，分析和使用 XML 有点棘手，对于在此领域经验有限的系统管理员而言尤其如此。正因为如此，WinRM 附带了 XSL 转换，以便将返回的数据转换成更具可读性的格式。
太好了，只是这也意味着您的输出将始终如下所示：
Win32_Service AcceptPause = false AcceptStop = true Caption = User Profile Service CheckPoint = 0 CreationClassName = Win32_Service
当然这也未必是坏事，但这同时还意味着您的输出将始终写入到命令窗口；默认情况下，无法轻松地将数据保存到文本文件、将该数据写入到数据库或 Microsoft® Excel® 电子表格，或者对该数据执行任何其他处理，而只能在屏幕上显示这些信息。这远远不够。
除此之外，如果选择只返回 WMI 类的某些选定的属性（可能希望减少网络通信量），问题会变得更糟。如果只使用某个类的几个属性而不是该类的所有属性，输出内容将如下所示：
XmlFragment DisplayName = Windows Event Log Name = EventLog

XmlFragment DisplayName = COM+ Event System Name = EventSystem
这种显示信息的方式很有意思，但却不怎么合乎我们的审美情趣（特别是整个报告中充斥着标题 XmlFragment）。
那么您该如何做呢？编写自定义代码解析此 XML 数据并对其进行格式化？这听起来不像系统管理脚本编写人员要做的事。还是有别的处理办法？

如果想把事情做好，就自己动手
事实证明，处理 WinRM 返回的原始 XML 数据这项任务看似令人生畏，但实际上却没有那么可怕。本月，我们将向您介绍一种解析和格式化 XML 数据的简单方法。我们所用的方法并不是处理 XML 的唯一方法，不过没关系；此处，我们主要是想说明您不必依赖 XSLT 转换。一旦您掌握了这个基本理念，那么，此后处理 WinRM 数据便不会有任何限制。
有一点需要注意：由于本专栏的篇幅要求，我们将跳过刚刚在图 1 中显示的脚本中的大部分内容。不过，这样应该不会造成太大的影响，因为上月专栏中详细介绍了此脚本前面部分的三分之二内容。我们将着重介绍此脚本最后的三分之一内容，而这部分正是我们实际处理返回数据的部分。
您可以看到，这部分 WinRM 内容将承接以下情节：创建 WSMan.Automation 对象实例，查询远程计算机（在本例中为 atl-fs-01.fabrikam.com），以及接收此计算机上正运行的所有服务的相关信息。接下来就转到了该脚本的代码行，您可以在此处构建一个 Do Until 循环，用于读取和处理返回的 XML 数据；直到读取和处理完所有数据后，此循环才会停止。（为便于理解，也可以这样说：当 XML 文件的 AtEndOfStream 属性值为 True 时，此循环才会停止。）
以下是我们要讨论的代码行，同时也是本月故事的真正开始：
Do Until objResponse.AtEndOfStream
在循环内部，我们首先使用 ReadItem 方法读取返回的 XML 数据的第一部分。（因为我们要使用 WinRM 并且要检索服务信息，所以这第一部分将包含集合中第一个服务返回的所有数据。）将此数据（同样为 XML 格式）存储在名为 strXML 的变量中，然后，创建 Microsoft.XMLDom 对象的实例。实际上，这提供了一个可供我们使用的空白 XML 文档：
Set objXMLDoc = _ CreateObject("Microsoft.XMLDom")
空白文档准备就绪后，即可将 Async 属性的值设为 False，然后调用 loadXML 方法。
这又引出了下列问题：您为什么会这么说？为什么要将 Async 属性的值设为 False？为什么要调用 loadXML 方法？这些问题提得很好；要是这些问题都是由我们自己想出来的该有多好！
对于初学者而言，Async 属性表示该脚本是否允许异步下载 XML 信息。如果该属性为 True，将立即开始下载，并将控制权返回脚本，而不论是否已完成下载。当然，这听起来相当不错。但遗憾的是，脚本随后会像已包含需要的所有信息一样继续执行。如果该脚本并不包含需要的所有信息，那么就可能会遇到问题。因此，我们将 Async 属性设为 False。
注意：当然，您可以编写代码以定期监视下载状态，以此确保不会过早执行该脚本。这个方法虽然有效，但是直接将 Async 属性的值设为 False 更简单。执行此操作时，将阻止该脚本运行，直至下载完成；换句话说，一旦下载过程开始，脚本就会耐心地等待下载完成，然后再执行其他操作。
至于 loadXML 方法，顾名思义：此方法将设置好格式的 XML 文档（或文档片段）载入我们的空白文档。我们只需调用 loadXML 方法，将变量 strXML 作为唯一的方法参数进行传递：
objXMLDoc.loadXML(strXML)
最终结果如何呢？现在已将 WinRM 数据转换成了虚拟的 XML 文档。这意味着我们可以使用标准的 XML 方法来分析此虚拟文档了。
为此，我们必须使用下列代码行创建指向 XML 文件中根元素的对象引用：
Set objElement = objXMLDoc.documentElement
此时，我们就可以享受其中的乐趣了。（当然，假设您的乐趣就是分析 XML 文件。这确实是我们脚本专家认为很有趣的一件事。）
您可能已经想起，我们的 WMI 查询语言 (WQL) 查询（用 WinRM 术语称之为筛选）如下所示：
strFilter = "Select Name, DisplayName " & _ "From Win32_Service Where State = 'Running'"
您可以看到，我们已经从 Win32_Service 类中请求了两个属性：Name 和 DisplayName（脚本中还包括一个 Where 子句，限制为正在运行的服务所返回的数据。但在这里我们不必为此事费神）。提前请求两个属性是否很重要？请求的顺序是否很重要？也许是的。我们到底该如何了解这些内容呢？
嗯，这个问题问得好。作为本文的作者，我们可能确实应该知道这些问题的答案。这没有什么不对，实际情况是，我们知道上述两个问题的回答都是肯定的。通过 WQL 查询提前请求两个属性是否很重要？是的，确实重要；毕竟，返回给我们的属性值只有这两个。（执行 Select * From 查询则会返回类中所有属性的值。）
那么，这两个属性的顺序是否也很重要？当然重要。指定属性名称的顺序就是属性值返回的顺序。由于所有属性值都会作为根元素的子节点（或部分）返回，所以这很重要。哪个属性值会作为第一个子节点返回呢？这个问题很简单。在本例中，第一个子节点将是 Name 属性，因为该属性在 WQL 查询中排在首位。哪个属性会作为第二个子节点返回呢？没错，就是 DisplayName 属性，因为该属性在查询中排在第二位。
稍等一下。这个问题是您自己解决的，还是有人提前向您泄露了本专栏的副本？嗯......
不管怎样，这会使回显 Name 属性的值变得更容易。我们只需引用第一个 ChildNodes（项 0）集合中第一项（项 0）的 NodeValue，如下所示：
Wscript.Echo "Name:" & _ objElement.ChildNodes(0).ChildNodes(0).NodeValue
那么我们如何引用 DisplayName 属性的值呢？在本例中，我们引用的是第二个 ChildNodes（项 1）集合中第一项的 NodeValue：
Wscript.Echo "Display Name:" & _ objElement.ChildNodes(1).ChildNodes(0).NodeValue
如果 WQL 查询中还有第三个属性（比如 Status），该如何引用？这时，我们只需引用第三个 ChildNodes（项 2）集合中第一项的 NodeValue：
Wscript.Echo "Status:" & _ objElement.ChildNodes(2).ChildNodes(0).NodeValue
依此类推，直到最后一个属性。
那么，此时我们的脚本输出内容是什么样子的呢？输出类似以下内容：
Display Name:Windows Event Log Name:EventLog

Display Name:COM+ Event System Name:EventSystem
当然，上述输出内容并未显示出与默认的 WinRM 输出的所有差别（尽管我们已去掉了多余的 XmlFragment 标题）。区别在于：通过使用各个属性值，我们已不再受默认格式的限制（请注意：我们使用的是标签 Display Name，而不是 DisplayName），也不再局限于只在命令窗口中显示信息。
那您是否更愿意将此数据改写到 Excel 电子表格呢？该操作很容易实现。首先在调用 Enumerate 方法的 WinRM 脚本代码行后直接插入下列代码块（用于创建和配置新 Excel 电子表格）：
Set objExcel = _ CreateObject("Excel.Application") objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Add() Set objWorksheet = objWorkbook.Worksheets(1)

i = 2 objWorksheet.Cells(1,1) = "Name" objWorksheet.Cells(1,2) = "Display Name"
现在，将原始的 Do Until 循环替换为您在图 2 中看到的循环。试一试，看看会发生什么情况。
Figure 2 New Do Until loop (Close Figure 2)
Do Until objResponse.AtEndOfStream strXML = objResponse.ReadItem

  Set objXMLDoc = CreateObject("Microsoft.XMLDom") objXMLDoc.async=False objXMLDoc.loadXML(strXML)

  Set objElement = objXMLDoc.documentElement objExcel.Cells(i, 1) = objElement.ChildNodes(0).ChildNodes(0).NodeValue objExcel.Cells(i, 2) = objElement.ChildNodes(1).ChildNodes(0).NodeValue i = i + 1 Loop

WinRM，第 3 部分？
在本月专栏和上月专栏之间的间隔，您应该具有足够的时间开始使用 WinRM。我们希望如此；WinRM 是一项颇具诱惑力的新技术，该技术使远程管理计算机（同时还能维护安全和安全保护）变得更加简单。当然，这会让所有人都想到一个问题：这是否意味着 WinRM 传奇还会有第三部？
但是很抱歉，我们不能透露这方面的信息。不是因为安全问题，而是因为这取决于脚本专家通常的规划和决策过程，我们也不知道是否会继续编写关于 WinRM 方面的文章。就像他们说的，请继续关注！
Scripto 博士的脚本谜题
Scripto 博士现在遇到了一个小麻烦。他将其中一个脚本随处乱放（而不是像一个优秀的脚本专家一样将脚本保存好），而且无意中将其打乱了，弄得到处都是。他已经设法找到了所有变量、关键字、符号一类的东西，并将它们按字母顺序排好了，现在他要做的就是将它们重新组合成一个完整的脚本。这可能要占用他一些时间，但是他希望在下个月的《TechNet 杂志》出版前整理好此脚本。同时，给读者提供一次尝试的机会，看读者是否可以将这组看似随机的脚本片段还原成一个完整的脚本。祝您好运！
提示：好了，下面提供了一些帮助。最终脚本会删除本地计算机中早于指定日期的所有文件。

Scripto 博士的脚本谜题
答案：粗心的 Scripto 博士，2007 年 12 月
是的，Scripto 博士已经设法将自己的脚本重新组合了。以下就是重建后的有效脚本，可以删除本地计算机中早于指定日期的所有文件：
strDate = "20060102000000.000000+000"

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery("Select * From CIM_DataFile Where CreationDate < '" & strDate & "'")
For Each objFile in colFiles
    Wscript.Echo objFile.Name
Next

The Microsoft Scripting Guys 为 Microsoft 工作，也就是受雇于 Microsoft。在玩、教或看棒球（以及各种其他活动）的闲暇之余，他们还负责维护 TechNet 脚本中心。您可以光顾他们的网站 www.scriptingguys.com，看看他们都在做些什么。


 安全观察: Windows 域密码策略
安全观察
Windows 域密码策略
Derek Melber

如果您是 Windows 域的管理员，一定会非常清楚域用户帐户的密码策略的相关限制。但随着 Windows Server 2008 的到来，其中一些限制将不复存在。让我们来看看这个新操作系统将如何解决这样一个问题：不能实现多个密码策略。
如果您运行的是 Windows® 域当前的任意版本（Windows NT®、Windows 2000 Active Directory® 或 Windows Server® 2003 Active Directory），就会受到每个域只能有一个密码策略的限制。事实上，对您产生限制的不仅是密码策略，而且还有帐户策略涵盖的范围更广的设置。图 1 显示了这些策略和设置。
Figure 1 Account policies (Close Figure 1)

密码策略
强制密码历史
密码最长使用期限
密码最短使用期限
最短密码长度
密码必须满足复杂性要求
使用可逆加密存储密码
帐户锁定策略
帐户锁定时间
帐户锁定域值
重置帐户锁定计数器之前经过的时间...
Kerberos 策略
强制用户登录限制
服务票证最长寿命
用户票证最长寿命
用户票证续订最长寿命
计算机时钟同步的最大容差
默认情况下，这些策略设置适用于与域相关联的所有域帐户和用户帐户。这是因为组策略是沿着 Active Directory 结构向下继承的。为了更好地认识这些策略如何影响域帐户和本地用户帐户，了解以下两点非常重要：这些策略的设置位置，以及组策略的继承方式如何影响所有不同的用户帐户。（请注意，Kerberos 策略设置仅适用于域用户帐户，这是因为只有域用户帐户使用 Kerberos 进行身份验证。本地用户帐户使用 NTLMv2、NTLM 或 LM 进行身份验证。）

设置帐户策略
在 Active Directory 内部，组策略建立并控制整个域的帐户策略。这是在首次安装 Active Directory 域时发生的，并且是通过获得链接到 Active Directory 中域节点的默认组策略对象 (GPO) 完成的。此 GPO 名为默认域策略，具有帐户策略的所有三部分的默认配置。图 2 显示了 Windows Server 2003 域中密码策略项初始设置的完整列表。
Figure 2 Default password policies for Windows Server 2003 domain
Figure 2 Default password policies for Windows Server 2003 domain
此 GPO 中的设置控制所有域用户帐户以及每台域计算机的帐户策略。请记住，所有域计算机（台式机和服务器）都具有本地安全帐户管理器 (SAM)，这很重要。此默认 GPO 中的设置控制的就是这一 SAM。当然，本地 SAM 也包含每台计算机的本地用户帐户。
通过 GPO 沿着 Active Directory 结构向下进行的正常继承，默认域策略中的设置可影响所有域计算机。由于此 GPO 链接到域节点，所以它将影响此域中的所有计算机帐户。

无法对当前密码策略执行的操作
关于 Active Directory（在 Windows Server 2003 中）的当前实现，目前仍存在对密码控制的许多误解，尽管经过了多年的严格测试，也未找到证据证明那些误解是对的。很明显（或应该说），策略是无法通过设计以外的其他方式起作用的。
也就是说，很多管理员都相信，可以为同一域中的多个用户设置多个密码策略。他们认为您可以创建一个 GPO，并将其链接到某个组织单位 (OU)。该思想是将用户帐户移到 OU 以使 GPO 影响这些对象。在 GPO 内部，对帐户策略进行修改以创建更安全的密码策略（可能是通过将最大密码长度设置为 14 实现此目的）。但是，由于一些原因，此配置永远达不到期望的结果。首先，密码策略设置是基于计算机而非基于用户的策略。有了这种设置的前提条件之后，设置将永远无法影响用户帐户。其次，修改域用户帐户的帐户策略设置只有一种方法，即在链接到该域的 GPO 内部进行修改。链接到 OU 且被配置为更改帐户策略设置的那些 GPO，会修改驻留在 OU 中（或在链接的 OU 的子 OU 中）计算机的本地 SAM。
另一个误解是，在根域（Active Directory 林的初始域）中建立的帐户策略设置将向下流动或继承到林中的子域。这同样并非事实，通过这种方式是无法使设置起作用的。链接到域和某个域中 OU 的 GPO 不会影响其他域中的对象，即使 GPO 链接到的域是根域也是一样。使 GPO 设置影响其他域中对象的唯一方法是将 GPO 链接到 Active Directory 站点。

密码策略的改变
可以看到，Windows 的当前版本处理用户帐户密码的方式简单直观。这包括一组适用于所有域帐户的密码规则，以及通过链接到 Active Directory 中域节点的组策略对象来管理帐户策略的方式。随着 Windows Server 2008 的到来，这一切就都被判出局了。
Windows Server 2008 以及一同推出的 Active Directory 基础结构采用了另一种方法。将帐户策略置于 GPO 中只允许对所有域用户帐户设置一种策略，而现在已将这些设置移到了 Active Directory 的更深部分。此外，帐户策略也不再基于计算机帐户。现在，您可以让个人用户和用户组来控制其密码限制。对于 Windows 管理员来说，这是一个全新的概念，毕竟我们长期以来一直在处理计算机帐户的帐户策略。

Windows Server 2008 中的帐户策略
在 Windows Server 2008 中，无需使用默认域策略建立帐户策略。实际上，您根本不会使用 GPO 为域用户帐户创建帐户策略。在 Windows Server 2008 中，会将您带到 Active Directory 数据库中进行修改。具体来说，您将使用一个类似于 ADSIEdit 的工具来修改 Active Directory 对象及其关联的属性。
进行此更改的原因是组策略并非针对同一域中的多个密码而设计。在 Windows Server 2008 中，每个域实现多个密码的功能非常棒，但并非每个人都觉得该功能使用起来很方便。不过，随着时间的推移，用于配置设置的界面将越来越易于访问。现在，您需要采用 Active Directory 数据库设置工具对系统进行更改。
如果您倾向于使用其他方法来修改帐户策略设置，则不必使用 ADSIEdit。您可以使用能够访问 Active Directory 数据库的任何其他 LDAP 编辑工具，甚至可以使用脚本。在 Windows Server 2008 中实现密码策略后，就需要使用与过去截然不同的方法了。使用新功能意味着您需要考虑哪些用户和组要接受哪些密码设置。
您不但要考虑密码长度，还要考虑密码策略设置附带的其他一些限制，包括最短和最长使用期限、历史等。其他注意事项包括如何控制用户锁定策略设置和 Kerberos 设置。当前的帐户策略设置与在 Windows Server 2008 中的 Active Directory 数据库中配置的帐户策略设置存在一对一关系。但请注意，既然这些策略设置已是 Active Directory 对象和属性，那么每个策略设置的名称也会与以前不同，这很重要。
要实现新密码设置，必须在密码设置容器下创建一个名为 msDS-PasswordSettings 的密码设置对象 (PSO)，该容器的 LDAP 路径为“cn=Password Settings,cn=System,dc=domainname,dc=com”。请注意，所用域的域功能级别必须设置为 Windows Server 2008。在此新对象下，您需要填写若干属性信息，如图 3 所示。
Figure 3 Password attributes in Active Directory (Close Figure 3)

Active Directory 属性名 | 属性描述
msDS-PasswordSettingsPrecedence | 当同一用户在使用不同密码策略的多个组中具有成员资格时，建立优先次序。
msDS-PasswordReversibleEncryptionEnabled | 在是否启用可逆加密之间切换。
msDS-PasswordHistoryLength | 确定中间必须隔有多少个不重复的密码后，才能重用某个密码。
msDS-PasswordComplexityEnabled | 确定密码要求使用的字符数目和字符类型。
msDS-MinimumPasswordLength | 确定最短密码长度。
msDS-MinimumPasswordAge | 确定用户密码最短使用多久后才可更改。
msDS-MaximumPasswordAge | 确定密码最长使用多久后会要求用户更改密码。
msDS-LockoutThreshold | 确定锁定用户帐户前允许的密码尝试失败次数。
msDS-LockoutObservationWindow | 确定密码计数器出现错误后多长时间进行重置。
msDS-LockoutDuration | 确定密码尝试失败次数过多导致帐户锁定后，帐户的锁定时长。
可以看到，与帐户策略设置相关的所有组策略设置都会作为属性复制。请注意，还存在一个优先设置；这对于在同一域中实现多个密码至关重要，这是因为必然会产生一些冲突，需要有处理这些冲突的机制。

目标帐户策略设置
对于创建的每个对象，都需要填写所有的属性才能针对每位用户创建帐户策略。这里有个新属性 msDS-PSOAppliesTo，用于确定哪些对象将接收这组策略设置。这是关键属性，通过它可以将特定设置分配给特定用户。此属性下的列表可以是用户也可以是组，但对于建立访问控制列表的情形而言，则最好使用组，而不是用户。因为组更稳定，更容易找到，而且处理起来通常容易得多。

起立欢呼
数年来，我们一直希望能够在同一 Active Directory 域中使用多个密码，现在终于实现了。从密码的角度而言，整个域中的每一个用户都处于同一安全级别的情形已经一去不复返了。例如，现在您能够为普通用户设置 8 个字符的密码，而为 IT 专业人员（可能具有管理员权限）设置复杂一些的 14 个字符的密码。
要想习惯使用 Active Directory 数据库建立或修改帐户策略设置，会花费一些时间。但值得庆幸的是，新设置仿效了您熟悉的设置。当您开始使用 Windows Server 2008 后，请务必立即研究这些新设置，因为这些肯定是属于您首先完成的配置。

Derek Melber兼 MCSE、CISM 和 MVP 于一身，是独立的顾问兼培训师。他负责讲授和推广 Microsoft 技术，着重于 Active Directory、组策略、安全性以及桌面管理。Derek 现已著有多本 IT 书籍，其中包括“Microsoft Windows Group Policy Guide”（Microsoft Windows 组策略指南）(Microsoft Press, 2005)。您可以通过 derekm@braincore.net 与他联系。


 桌面文件: 在虚拟世界中部署 Windows
桌面文件
在虚拟世界中部署 Windows
Wes Miller

虚拟计算无处不在。如果您尚未利用此功能，以后应该注意利用它。虚拟化主要通过创建自身的硬件抽象层、允许在主机系统间移动一个或多个来宾系统（如 Windows Server 或 Windows 客户端操作系统）来减少硬件依赖性。
当然，虚拟化与仿真不同，因为它并不模仿来宾处理器。在某种程度上，它只是表示来宾系统可访问的主机系统资源。所以，主机系统对于来宾而言是通用的。一般情况下，您可将虚拟来宾从某个 OEM 构建的系统移动到另一个 OEM 构建的系统，主机硬件一般不会影响该过程的正常进行。不过，要注意一些事项。例如，如果将来宾从使用某个 CPU 供应商（如 AMD）的处理器的硬件移动到使用其他 CPU 供应商（如 Intel）的处理器的硬件，可能会遇到问题（取决于使用的虚拟化技术）。这是因为虚拟计算技术只在主机和来宾间来回传递信息，它并不为来宾模拟具体 CPU（例如，像基于 PowerPC 的旧式 Macintosh 上运行的 Microsoft® Virtual PC 那样）。
但是，虚拟化可为来宾模拟主要的硬件组件。这大多只限于网络连接、视频（通常是限制非常严格的设备，不具有高级模拟的 GPU）以及大容量存储。这些复合内容全凭向来宾展示一种或多种类型的软件模拟设备来发挥作用。如果您阅读我的专栏已有一段时间，现在您会发现这其实与 Windows® PE 所关注的设备列表相同。在虚拟化中，这些设备与使 Windows 真正执行任何任务所需的设备类型相同。此外，所有虚拟化技术都必须模拟 BIOS。虽然这些技术还可以模拟可扩展固件接口 (EFI)，但目前可供选择的基于 EFI 的操作系统有限，所以使用也受到了限制。所有模拟都允许启动虚拟来宾。BIOS 和每个设备在软件中模拟实际设备并将该设备呈现给来宾。这就意味着它们与实际设备一样需要驱动程序（并非一定是 Windows 提供的驱动程序）。这是一个需要牢记的重要概念。
尽管有些虚拟化技术还允许 USB（或 USB 2.0）设备与其进行交互，但在此我不针对这些特定技术细节进行阐述。除了这些 USB 设备需要使用驱动程序（打印机、USB 无线 NIC 等）或特定 DirectX® 支持（大多数虚拟化技术中不常用）外，您不必再做更多的事情就能使它们正常运行了。切记，是否支持 USB 或其他非模拟设备完全取决于使用的虚拟化技术。在尝试将虚拟化产品用于新设备前，请确保了解您所使用的虚拟化产品的限制（就象我常说的：“工欲善其事，必先利其器”）。
当前，在 Windows 方面有两个主要虚拟化技术供应商：Microsoft 和 VMware (vmware.com)。还有其他正在崭露头脚的供应商，如 Parallels (parallels.com)。
现在您已对虚拟化有了大致了解，我将在专栏剩下的部分介绍如何对其设置、如何避免最常见的缺陷以及如何在您环境中的多台计算机上进行部署。

虚拟部署
虚拟系统部署不一定必须不同于实际系统部署。但您将会发现，有些原因使其不得不异于实际系统部署。
在 Windows NT® 早期阶段，必须通过安装进行部署。您可以针对它进行脚本编写，但是必须运行完整个过程。完成安装后，要将映像复制到多个系统，此操作在概念上很容易理解，但实际上却不受支持。
不过，最终 Microsoft 确定很有必要支持磁盘复制或“克隆”的 Windows NT 系统。所以，当前部署实际系统的每种方法同样适用于虚拟系统部署。您可以使用：Winnt32（在使用 Windows Vista® 和 Windows Server® 2008 的情况下使用 setup.exe）；Windows PE（1.x 或 2.x，如我在专栏前半部分所说的，这取决于要部署的客户端）；远程安装服务 (RIS) 或 Windows 部署服务 (WDS)；或 Sysprep（Windows NT 4.0 用于部署的系统准备工具）以及您喜欢用的磁盘复制技术（例如，ImageX）。
当然，只有在第一次部署特定操作系统时才需要执行上述操作。完成后，只要进行复制即可。但刚才我提到的这些基于磁盘的复制方法存在一个问题。

使用 Sysprep
起初，主要是 Windows NT 安全标识符 (SID) 提出了 Microsoft 不支持基于磁盘的复制的决定。幸运的是，Sysprep 提供了一种解决方案。不过，让我们首先看一下它解决的问题。正如在 support.microsoft.com/kb/314828 中所讨论的，SID 由 SID 结构修订号（通常是全局唯一标识符或 GUID）组成，用于标识基于 Windows 的个人计算机。然后，该 ID 用作所有本地帐户的标识符的根部分。本地帐户具有其自身的唯一标识符，称为相对标识符 (RID)。该 RID 包含连接到 SID 末尾的帐户 ID。因此，SID 与 RID 二者共同组成了本地帐户标识符。
让我们来看一下为什么说使用管理员 SID S-1-5-21-191058668-193157475-1542849698-500 存在问题。其中的 S-1-5 是用来定义这是 SID（SID 的文本表示中必定会有 S）的描述符，1 和 5 分别代表 Windows NT SID 修订号和授权标识符值（在此是指 Windows 安全性）。其余部分才是真正的 SID，包括 500，它表明这是一个众所周知的 SID — Windows 管理员帐户。在所有 Windows 安装过程中会默认创建管理员帐户（并且无法删除），其 SID 均以 500 结束。安装后添加到 Windows 的本地用户帐户都从 1000 以上开始迭代。
Windows Sysinternals（在 technetmagazine.com/issues/2007/03/DesktopFiles 上关于 PSTools 的专栏中曾提到）提供的 PSGetSID 使您可枚举系统上给定用户的 SID 或系统的 SID。请参阅图 1 查看 PSGetSID 的输出以获取我的虚拟系统的 SID 以及我的用户帐户的 SID 1003。
Figure 1 Output of PSGetSID for a virtual system's SID and the SID of user account 1003
Figure 1 Output of PSGetSID for a virtual system's SID and the SID of user account 1003
由于本地帐户 RID 基于此 SID，所以对系统进行磁盘复制或只复制虚拟计算机映像时，出现的问题应相对明确。不更改 SID（Sysprep 的主要任务但非唯一任务），最终只能得到使 Windows 系统不同于其他系统的关键组件的副本。如果系统 A 和 B 的管理员的 SID 相同，那么每个系统上的用户都可能合法地将自己识别为同一用户。当对系统 A 进行身份验证时，可能对系统 B 的所有本地帐户同样执行操作，反之亦然。更糟糕的是，当这些系统呈现给 Active Directory® 时，也将具有相同的 SID。因此，如果允许系统 A 但不允许系统 B 通过域资源的身份验证，则会相互混淆而引起冲突。如果将 B 设置为拒绝，则 A 实际上也会被拒绝。
所以，在系统上使用 Sysprep 重新生成 SID 非常重要 — 尤其是在虚拟系统方案中，因为系统映像很容易就能四处传播。您也不应使用第三方 SID 更改工具，只能使用 Sysprep。Sysprep 是由 Microsoft 设计和测试的，受 Microsoft 支持，用于准备系统进行复制（甚至是虚拟系统）。请参阅图 2 了解一下 Sysprep 示例外观，然后再更改系统上的 SID。如果下一步是要准备系统进行复制，请确保始终不选择“不重新生成安全标识符”选项。
Figure 2 "Don't regenerate security identifiers" should be unchecked when preparing for duplication
Figure 2 "Don't regenerate security identifiers" should be unchecked when preparing for duplication
除了将 SID 更新为新的 ID 外，Sysprep 也可修改它所知的所有私有数据存储以反映 SID 和计算机名称，还可以更改这些私有数据存储的加密来使用新的 SID。例如，计划任务数据存储和 IIS 元数据库中的值（如果安装了 IIS）。
Sysprep 还会强制删除系统上的各个 NIC，并将 NIC 的网络配置数据一起删除。由于网络配置“不专属于”注册表中的 NIC，并且该 NIC 的关系基于 NIC 的硬件 ID（这在虚拟到虚拟系统移动以外的情况下往往无效），所以 Sysprep 通常会清理掉这些被废弃的数据。
Sysprep 还会清理系统中的所有 Active Directory 成员身份信息。因此，作为 Sysprep 工作的一部分，它必须强制从域中删除系统。这样可确保刚接收到新 SID 的系统可安全加入该域。有些 SID 更改实用程序允许您更改计算机 SID 而无需将其从域中删除，但这样做既不可靠也不安全。如果必须在域成员的计算机上运行 Sysprep，则可以在运行 Sysprep 之前将其从域中删除，也可以运行 Sysprep 让它为您处理上述任务。
相关提示：如果要虚拟化任何域控制器 (DC)，您需要复制尚未升级为 DC 并且尚未加入到域的独立服务器的系统。除 Windows Server 2003 Small Business Server Edition 外，您无法安全地对 DC 进行磁盘复制。要安全地创建新的 DC，您需要创建准备加入域并升级为 DC 的服务器的磁盘映像。Sysprep 不知道如何在 DC 上安全地更改 SID（在作为单林/单服务器的非常特殊的 SBS 实例中除外）。
最后，除了更改 SID 以及从域中删除计算机外，Sysprep 还更改计算机名。
对虚拟系统进行映像（甚至只是复制）时要执行上述所有任务，这样讲可能显得非常苛刻。但是这样做很关键，尤其是在包含其他实际或虚拟系统的网络上或在域中使用这些系统时，或是在网络上与它们自身的任何其他副本一起使用时。
如果复制虚拟系统时不使用 Sysprep，可能就会遇到大量显而易见的问题（Active Directory 或其他联网冲突）以及许多预料不到的情况。例如，虚拟映像很容易遭受黑客攻击，因为只要攻击了一个映像就能获取对其他映像的访问权限。

驱动程序和硬件抽象层
我提到过，虚拟映像中包含的虚拟设备可能不具有 Windows 的“现成”驱动程序。请确保部署时（或使用 Sysprep 部署磁盘映像时）拥有可供设备使用的驱动程序，因为将虚拟映像从一个存储总线驱动程序移动到另一个时，很容易像使用实际硬件时遇到的情况那样，出现致命的 0x0000007B 驱动程序错误。这同样适用于 NIC。虽然大多数虚拟化产品都致力于提供相当通用的虚拟设备，但可能仍需要辅助驱动程序为其提供支持。
同时，您也不能忽视令人讨厌的硬件抽象层 (HAL)。理论上，如果虚拟化技术支持，您会希望创建支持高级配置和电源接口 (ACPI) 多处理器的虚拟计算机（请参阅 intel.com/technology/iapc/acpi）。通常不支持在 HAL 间进行转换（请参阅 support.microsoft.com/kb/309283 获取更多具体信息）。但是，有些虚拟化技术（或者，更重要的是，许多迁移技术）承诺可安全地将非 ACPI 的 Windows 安装移动到 ACPI 安装，反之亦然。但实际上并非如此；此外，如果出现问题，Microsoft 并不支持因此产生的 Windows 安装。我刚才提到的关于支持网页方面的限制同样适用于虚拟化系统。请参阅图 3 查看 HAL 在我的一台虚拟计算机上“设备管理器”中的呈现示例，在此示例中使用 ACPI 单处理器 HAL 运行。不要将其与单处理器混淆，它可以与其多处理器系列相互交换。
Figure 3 HAL in Device Manager on a virtual machine
Figure 3 HAL in Device Manager on a virtual machine

其他更改
更改可更改的内容，接受无法更改的内容
考虑在实际系统和虚拟系统之间迁移时，您需要记住可更改和无法更改的内容。可以更改 Windows 安装的下列方面：
  • HAL（但只可从单处理器变为多处理器，反之亦可，前提是它们要基于同一电源配置）。
  • 大容量存储控制器（这不太容易 — 但大多数实际到虚拟迁移解决方案已在尝试自行解决此问题）。请注意，大多数供应商会提供 IDE 和 SCSI 存储解决方案。在进行部署时要明智地选择，因为从一种解决方案迁移到另一种解决方案并不是很容易的事。通常，选择 SCSI 会使设备比较可靠（对大多数供应商 SCSI 设备模拟实现而言）。
  • 网络控制器（虽然在虚拟到虚拟迁移的情形下，这在同一个供应商提供的技术中通常相同）。
无法更改 Windows 安装的下列方面：
  • HAL（之前提到的使用相同电源配置时的情况除外）。不应认为执行此更改的迁移解决方案能带来稳定或可靠的 Windows 安装（更重要的是，它不受 Microsoft 支持）。

除更改 SID 和计算机名外，还需要更改特定于您使用的虚拟计算技术的某些值。尤其是，需要更改 MAC 地址（网络连接设备的唯一 ID）。另外，许多虚拟应用程序还具有自已的唯一标识符。大部分虚拟应用程序将标识符存储在自己的计算机配置文件中，因此您可能想了解如何管理这些条目（并维护它们的有效性）。请注意，许多支持预启动执行环境 (PXE) 的虚拟化产品会根据自己的唯一 ID 向计算机中输入 SMBIOS UUID 信息 — 这就强调了打算将虚拟化产品加入域中时对唯一 ID 进行更改（或者在支持的情况下，让虚拟化软件为您更改）的必要；否则，将无法管理 WDS 或 RIS 客户端系统（如果 GUID 相互冲突）。我使用过的大部分虚拟化解决方案在复制 MAC 地址的情况下都会出现严重的联网问题，所以如果您不只是移动虚拟计算机，而虚拟化软件又没有为您更改 MAC 地址，那么由您来更改 MAC 地址是非常重要的。
准备要进行部署的虚拟系统时，需要切记的其他组件包括所有链接磁盘或快照。根据您的虚拟化解决方案，这些组件也可称为差异磁盘或其他名称。但是，如果您运行 Sysprep 来准备系统并且虚拟系统带有快照（或其他可回复的状态），则必须销毁这些快照，以便安全、可靠地复制映像。在使用快照或其他“撤消磁盘更改”技术方法的情况下，还原快照可能意味着回归到多个源于初始虚拟计算机的系统现在相互冲突的境况（甚至是初始源系统 — 如果它被还原）。因此所有快照或差异磁盘关系上应已执行过 Sysprep。

优化
大部分虚拟化技术都包含虚拟机添加件或工具，用于提高从主机与来宾进行交互的性能和体验。在各种性能增强中，通常会包括优化鼠标和键盘输入等操作，还经常包括改进的复制和粘贴（或其他主机到来宾之间）交互。部署前，在您的虚拟系统中安装这些工具的最新版本。
此外，还需要确保客户端内存已针对来宾操作系统进行最佳配置，而且与将要部署到的主机相符。您最不愿做的事是将要使用 1GB RAM 的 Windows XP 映像集部署到原本没有那么多 RAM 的主机系统。
还要切记当前大多数虚拟技术的局限，因此用户一定要了解如何与虚拟系统附带的外围设备进行交互以及哪些应用程序在来宾操作系统（例如，大多数不支持 DirectX 9 或 10，或只支持有限的较早版本）上起作用，哪些不起作用。用户可能不了解其中的含义或它如何进行自我证明（有些应用程序无法很好地处理这些故障）。

主机注意事项
注意，通常情况下，对于运行虚拟化技术的主机 PC，无论运行的是完整操作系统还是直接在硬件上运行的 Type 1 虚拟机管理程序，都无需考虑过多注意事项。大部分虚拟化技术都用于确保来宾操作系统无需了解主机的任何信息（或只需了解极少的信息）。不过，请确保了解使用的是哪个主机，以防从某个主机移动到另一个主机的来宾遇到问题。另请确保了解虚拟化供应商的产品对特定平台的限制。尽管可以从一个平台移动到另一平台，但在该过程中，可能会丢失或获得主机操作系统 Type 2 虚拟机管理程序（虚拟化应用程序）的某些功能。

其他部署机制
Sysprep 相关链接
通过下列文档，您可获得有关 Sysprep 的大量帮助：
  • 使用 Sysprep 设计基于映像的安装
  • 如何使用 Sysprep 工具自动实现 Windows XP 的成功部署
  • 如何使用系统准备工具 (Sysprep.exe) 执行磁盘复制
  • 在不同的计算机上使用系统准备工具

部署虚拟系统时，显然可以选用 Sysprep 或磁盘复制（或者直接运行 Sysprep 后复制虚拟计算机），但是还有其他方法。事实上，不管使用映像还是安装程序，使用 Windows PE 进行虚拟化都比使用物理机器更简单，因为您使用的是 ISO 文件而非物理 CD。请注意，有些虚拟化技术无法很好地处理 DVD 媒体，所以请一定要与虚拟化供应商联系以获取相关帮助。您可以使用 winnt32 或 setup.exe（在使用 Windows Vista 或 Windows Server 2008 的情况下），但是不会产生任何特别效果。如果使用其他 Microsoft 部署技术（如自动化部署服务），则虚拟化技术支持使用 PXE 启动基于网络的部署，就像使用 RIS 或 WDS 一样。

迁移
最后，除实际迁移整个 PC 外，不要忘记用户状态迁移工具 (USMT)。使用 USMT，您可以轻松地将用户的设置从实际客户端移动到新的虚拟系统。所以，举例来说，如果您的用户希望将旧数据和设置迁移到新的虚拟计算机，您就可以轻松地从 Windows XP 中获得文件和设置，将其存储到 UNC，然后将其推送到新的虚拟计算机中。

Wes Miller 居住在德克萨斯州奥斯汀市。在这之前，他曾在奥斯汀市的 Winternals Software 公司任职，并曾在 Microsoft 担任 Windows 项目经理和产品经理。您可通过以下电子邮件地址与 Wes 联系：technet@getwired.com。


 领域备注: 千变万化的未来
领域备注
千变万化的未来
Romi Mahajan

哲学家 和经济学家卡尔·马克思在他的一本小册子中写道，“一切固有的东西都将烟消云散”，指随着 19 世纪欧洲工业化和资本主义的兴起，社会类别之间的关系也发生了改变。无论环境如何变化，“划分和类别绝非一成不变”这一真知灼见一直以各种形式存在着，在技术领域也同样如此 — 唯一的永恒就是变化。
在这个飞速发展的行业中，消费者推动技术的兴起是对技术变革速度（以及由此给我们带来的挑战）的最好诠释。事实上，IT 已逐步“消费化”，并且变革的领先标志完全落在个人消费领域，这同时也对商业和生活产生了巨大影响。这种现象有以下几种表现形式：
  1. Web 2.0 领域就好比读/写 Internet；写到 Internet 上则可以说是写作者同时扮演消费者的角色。
  2. 消费者应用程序和技术对商业造成了一种“光环”效应。
  3. 由于 IT 行业出现消费化，对于 Internet 的主要探测也开始不断进行规划和测试。
  4. IT 形态（如帮助台）必须进行规划、处理，并区分家用和商用技术间的模糊界限。
  5. 人们做出决定，他们是消费者，同时也可算作专业人士。
  6. 人们“最喜爱”的技术几乎总是消费类产品，而非商用产品。
从刚才的几个示例中可以看到，“消费化”带来的意义是深远的，并且各类别之间可互相转换。我有一位驱动技术公司的朋友，他告诉我说，在公司所有帮助台呼叫中，与 iTunes 更新相关的呼叫高达 8％。Cisco 的白皮书“Exabyte 时代”首先介绍了两点 — Internet 在流视频的重压下不会崩溃，而 YouTube 仅仅是一个开端。据 NDP Group 报道，在 iPod 的“光环”效应作用下，Apple 公司在 2007 年 3 月间几乎占据了便携式计算机零售市场的 10％。Microsoft 正在全力调查游戏、音乐、数字摄影以及视频宿主等领域。最后，当今很多公司都在 Second Life 中举办会议。
此外，技术品牌得到提升，并逐步进入与人们息息相关的日常生活。人们用“Google”搜索信息，到处谈论 iPod，通过“Myspace”发表自己的看法，而且玩 Xbox® 游戏。人们与技术建立了感情，这种关系的影响从办公室延伸到家庭，又回到办公室，然后人们开始关注构建这些设备、应用程序、网站以及社区的公司。就像某种认知的形成一样 — 好、坏或中立，这些认知会在我们的个人生活和职业生活中一直伴随我们。
因此，与个人相关的事务是很复杂的。如果公司同时面临信息膨胀、隐私暴露并要顾及消费者等挑战，则实现基本的文化转型很有必要。在早期，各种角色进一步分工之前，大众信息是市场运营的主体。而最近几年来，“专门”信息广泛兴起，针对工作职位、受众细分、公司规模以及特定技术等信息进行了精确的定位。然而，我们没有意识到的正是“一切固有的东西都将烟消云散”的事实，并且吸引人们加入其个人/消费者群体才是建立相关联系并引领时代潮流的唯一方法。
“千变万化”指的是类别之间可互相转换，而且类别之间没有明显差别。换句话说，我们不再能隔断消费者理念与商业技术之间的联系了。IT 消费化已经到来，未来也一定会千变万化。

Romi Mahajan 是 Microsoft“技术听众和平台市场营销”团队的市场营销主管。Romi 曾在政治、环境、技术以及社会学等诸多领域发表过多篇文章。


 Windows 机密: 操纵杆无需是微波
Windows 机密
操纵杆无需是微波
Raymond Chen

我最近在读 一个同事所写的博客“the Audio Fool”，它使我想起多年前犯下的一个困扰我很久的错误。当年，DirectInput® 力反馈操纵杆接口即将推出，我们邀请操纵杆制造商到华盛顿雷德蒙的 Microsoft 办公室，讨论提议的接口细节并请他们提供自己的一些反馈（这可不是话里有话呀）。
在那些会议中，许多问题经过商讨后得到了解决，但令我印象非常深刻的一个问题是，大家对周期力应以周期表示还是频率表示有所分歧。在场的一位供应商争论个不休，因为他们公司已编写好了以频率指定周期力的驱动程序，他不希望对此进行更改。想想吧，这是商讨全新接口细节的会议，供应商怎能期望会后不必对自己的驱动程序进行任何更改呢？
但由于这位供应商的强烈坚持，最终我们只得屈服了，同意使用频率而非周期来指定周期力的速率。毕竟，使用哪种表示方式实际上没有太大关系。频率为每秒振动 10 次的力与周期为 1/10 秒的力相同。周期和频率是互逆的。
唬！但实际并非完全如此。周期以毫秒表示，其动态范围是从 1 毫秒到 50 天之间的任何时间。50 天的周期对人们来说不算长，而 1 毫秒的周期就更是太快了，以致于未被视为一种周期现象，而被视为乐音。
另一方面，频率以赫兹表示，其动态范围是 1 Hz 到每秒 40 亿个周期。是否觉得使用操纵杆播放音乐非常奇怪？设想一下生成频率属于微波频带内的力是什么样子！
问题在于，这种力表示方法的频率范围上限实际上毫无用处，而频率范围下限却不足以表示最小频率。研究结果表明，模拟飞行游戏就非常热衷于使用周期相对较长的周期力。我不了解这背后的物理原理，但有人告诉我，这样一来，飞行员就必须要处理一种效应 — 每隔几分钟控制杆上就会出现一个慢速周期力。飞机的自然趋势是沿着非常缓慢的垂直正弦波轨迹飞行，因此飞行员必须采取措施来抵消此趋势以保持水平飞行。如果力的速率按周期表示，则模拟飞行程序可指定周期为 120,000 毫秒。但如果用频率表示，对应的频率为 0.0083 赫兹，远远低于驱动程序接口中所能表示的 1 Hz 的最慢频率。因此，模拟飞行所能要求的速率最小的力就是每秒重复一次的力，但这相对于模拟飞行想要模拟的实际效果而言仍然相当快。
因为这些年来这个问题一直困扰着我，所以最近我前去查阅了相关的力反馈文档。令我吃惊的是，文档显示 DIPERIODIC 结构竟然是使用周期而不是使用频率来表示周期效应的。（此外，为了便于测量，它使用的是微秒，这意味着现在既可以播放音乐，也可以驾驶飞机。）也许是错误事后得到了修正？也许是我年高忘事，记忆对我开了个大玩笑？无论如何，我再也不用担心这个错误了 — 不管这个错误曾经是否真正发生过。

Raymond Chen 的网站“The Old New Thing”及同名著作 (Addison-Wesley, 2007) 均讲述了 Windows 的历史发展情况及 Win32 编程。那种风格应该非常适合您。