注意

Servermanagercmd.exe 已被弃用,因此不保证在将来版本的 Windows 中支持该功能。建议您使用可用于服务器管理器的 Windows PowerShell cmdlet。

Windows Server(R) 2008 R2 中的服务器管理器命令行安装功能可接受每个命令实例安装或删除一个角色、角色服务或功能的参数。如果要使用单个命令实例在服务器上安装或删除多个角色、角色服务或功能,请使用 XML 答案文件。

在 Windows Server 2008 R2 中,用户可以从头开始创建答案文件。答案文件为 服务器管理器 命令行接口提供了以下信息:

  • 用户要在服务器上安装或从服务器上删除的 角色、角色服务和功能

  • 完成 角色、角色服务或功能 安装所需的配置设置

角色、角色服务和功能的依赖关系

使用 服务器管理器 GUI 安装或删除角色、角色服务或功能时,添加角色向导将验证角色所需的所有软件是否随在向导中选择的角色一起安装。如有必要,该向导将提示您批准安装选定角色所需的其他 角色、角色服务或功能。

使用 服务器管理器 命令行时将发生同一验证过程。如果只想安装或删除角色或功能的特定部分,则需要仅指定要安装或删除的部分;而无需指定与要安装的角色服务对应的所有必需角色和角色服务;服务器管理器 将自动安装或删除您所需的角色服务所依赖的软件。

重要

如果使用答案文件删除角色,则 服务器管理器 将自动删除依赖答案文件中的指定角色或角色服务的所有角色和角色服务。通过将 -whatIf 参数添加到 服务器管理器 命令可以显示因删除答案文件中指定角色或角色服务而删除的所有角色和角色服务的列表。

例如,如果要安装 Internet 打印(打印和文件服务的一个角色服务),则答案文件只需指定 Internet 打印;而无需指定 Web 服务器 (IIS) 或 Web 服务器 (IIS) 的特定角色服务。默认情况下,服务器管理器 将安装 Web 服务器 (IIS) 的多个部分,即 Internet 打印运行所需的另一个角色。您希望使用相同的答案文件从同一服务器中删除远程桌面服务角色服务 RD 网关。RD 网关还需要运行 Web 服务器 (IIS) 的某些部分。服务器管理器删除 RD 网关或 Internet 打印都不需要运行的 Web 服务器 (IIS) 的那些角色服务,但保留 Internet 打印仍然需要的 Web 服务器 (IIS) 角色服务。

答案文件处理父和子角色服务的方法

某些 角色、角色服务和功能 是 服务器管理器 默认安装的子元素的容器。在作为 服务器管理器 GUI 一部分的向导中,选择用于安装或删除的容器节点时,系统会自动选择所需的子元素。尽管您可以手动清除与某些子元素对应的复选框,但选定的子元素是推荐的默认值。

如果在命令行安装中指定了容器,则系统将自动包括默认的子元素。如果在命令行删除中指定了容器,则系统将删除所有的子元素。例如,在答案文件以及 -install 命令中命名打印和文件服务角色时,系统还会安装“打印服务器”角色服务。但是,指定删除打印和文件服务容器,将导致删除整个角色。

如果不应安装默认子元素,则不要在答案文件中指定相应容器。只需指定要安装或删除的子元素。

例如,如果要安装打印和文件服务的角色服务 Internet 打印,则答案文件仅需指定 Internet 打印,而无需指定打印和文件服务或打印和文件服务的其他角色服务。服务器管理器仅安装所需的 Internet 打印和打印服务器角色服务,而不会安装 LPD 服务(从属于打印和文件服务的另一个角色服务)。

为服务器管理器命令创建答案文件

可以在 XML 编辑程序或文本编辑实用程序(如记事本)中创建要随 服务器管理器 命令行一同使用的答案文件。建议您使用可以针对现有 XML 架构对工作进行验证的 XML 编辑器,因为针对 服务器管理器 命令行架构定义验证答案文件非常重要。有关详细信息,请参阅本主题中的服务器管理器命令行架构

注意

不能将 -query 参数的结果作为答案文件与 -inputPath 参数一起使用。-query 结果使用的 XML 与 Servermanagercmd.exe 答案文件中所需的 XML 被证实不属于同一架构。

指定角色、角色服务和功能的标识符

服务器管理器 命令行和答案文件可以识别服务器管理器命令概述中提供的角色、角色服务和功能的标识符。答案文件和 服务器管理器 命令行中的角色、角色服务和功能的标识符不区分大小写,因此标识符中显示的大写形式不重要。

答案文件示例

以下是示例答案文件。请注意,以下标题元素必须存在于所有答案文件中,若要创建格式完善的 XML,则在答案文件结尾必须关闭此元素。必须将占位符 action 替换为 InstallRemove

<ServerManagerConfiguration
Action="action"
xmlns="https://schemas.microsoft.com/sdm/Windows/ServerManager/Configuration/2007/1">
…answer file content…
</ServerManagerConfiguration>

安装 DNS 服务器、Web 服务器、RD 网关、消息队列服务器和 .NET Framework 3.0 功能

在以下示例中,管理员需要安装 DNS 服务器、Web 服务器 (IIS)、RD 网关(远程桌面服务的一个角色服务)、消息队列服务器(消息队列功能的一部分)和 .NET Framework 3.5.1 功能的所有部分。

<ServerManagerConfiguration
Action="Install"
xmlns="https://schemas.microsoft.com/sdm/Windows/ServerManager/Configuration/2007/1">
<Role Id="DNS"/>
<Role Id="Web-Server"/>
<RoleService Id="RDS-Gateway"/>
<Feature Id="MSMQ-Server"/>
<Feature Id="Net-Framework" InstallAllSubFeatures="true"/>
</ServerManagerConfiguration>

以下是此操作的结果。

  • DNS 服务器:已安装。

  • Web 服务器 (IIS):具有许多默认的角色服务以及对 Windows 进程激活服务 (WAS) 功能的依赖关系。安装了所有的默认角色服务和 WAS。

  • 远程桌面服务:安装了 RD 网关角色服务,这意味着现在已安装远程桌面服务角色。RD 网关依赖于多个 Web 服务器 (IIS) 角色服务以及网络策略和访问服务,RD 网关也已安装。

  • 消息队列:仅安装了消息队列服务器功能元素。未安装消息队列的其他元素。

  • .NET Framework 3.5.1 功能:安装了 .NET Framework 3.5.1 功能的所有子功能。

删除 DNS 服务器、RD 网关和 .NET Framework 3.5.1 功能

在以下示例中,管理员需要删除 DNS 服务器、RD 网关和 .NET Framework 3.5.1 功能。

<ServerManagerConfiguration
Action="Remove"
xmlns="https://schemas.microsoft.com/sdm/Windows/ServerManager/Configuration/2007/1">
<Role Id="DNS"/>
<RoleService Id="RDS-Gateway"/>
<Feature Id="Net-Framework"/>
</ServerManagerConfiguration>

以下是此操作的结果。

  • DNS 服务器:已删除

  • 远程桌面服务:删除了 RD 网关角色服务。未删除其他已安装的远程桌面服务角色服务。未删除 Web 服务器 (IIS)(RD 网关依赖于该服务器)。

  • .NET Framework 3.5.1 功能:删除了 .NET Framework 3.5.1 的所有子功能。如果以前未安装某些子功能,则系统将忽略它们。

服务器管理器命令行架构

随 服务器管理器 命令行一同使用的 XML 答案文件必须验证 服务器管理器 命令行架构定义。您可以在 Microsoft 网站 (https://go.microsoft.com/fwlink/?LinkId=81203)(可能为英文网页)上找到此架构的副本。