安装或卸载角色、角色服务或功能

适用范围:Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012

在 Windows Server 中,服务器管理器 控制台和 Windows PowerShell cmdlet for 服务器管理器 允许将角色和功能安装到本地或远程服务器,或脱机虚拟硬盘 (VHD) 。 可以在单个远程服务器或脱机 VHD 上安装多个角色和功能,这些角色和功能位于单个添加角色和功能向导或Windows PowerShell会话中。

重要

服务器管理器无法用于管理较新版本的 Windows Server 操作系统。 服务器管理器 R2 或 Windows Server 2012 上运行的 Windows 8.1 不能用于在运行 Windows Server 2016 的服务器上安装角色、角色服务和Windows Server 2016。

必须以管理员身份登录到服务器,才能安装或卸载角色、角色服务和功能。 如果你在目标服务器上使用不具备管理员权限的帐户登录到本地计算机,则右键单击“服务器”磁贴中的目标服务器,然后单击“管理身份”提供具有管理员权限的帐户。 要装载脱机 VHD 的服务器必须添加到服务器管理器,且你必须具有对该服务器的管理员权限。

有关什么是角色、角色服务和功能的信息,请参阅 角色、角色服务和功能

本主题包含以下各节:

使用添加角色和功能向导安装角色、角色服务和功能

在"添加角色和功能向导"中的单个会话中,可以在本地服务器上安装角色、角色服务和功能、已添加到 服务器管理器 远程服务器或脱机 VHD。 若要详细了解如何将服务器添加到要管理服务器管理器,请参阅将 服务器添加到服务器管理器

注意

如果在 服务器管理器 或 Windows 10 Windows Server 2016 上运行 服务器管理器,可以使用添加角色和功能向导仅在运行 Windows Server 2016 的服务器和脱机 VHD 上安装角色和功能。

使用添加角色和功能向导安装角色和功能

  1. 如果服务器管理器已经打开,则继续执行下一步。 如果服务器管理器尚未打开,请执行以下任一操作打开它。

    • 在 Windows 桌面上,启动服务器管理器,方法是单击 Windows 任务栏中的“服务器管理器” 。

    • 在"Windows"屏幕上单击"服务器管理器磁贴。

  2. 在" 管理"菜单 上,单击 "添加角色和功能"

  3. “开始之前”页面上,确定目标服务器和网络环境已为要安装的角色和功能做好准备。 单击“下一步”。

  4. 在“选择安装类型”页面,选择“基于角色或基于功能的安装”以在单台服务器上安装角色或功能的所有部分,或选择“远程桌面服务安装”以安装远程桌面服务的基于虚拟机的桌面基础结构或基于会话的桌面基础结构。 “远程桌面服务安装”选项可根据管理员的需要将远程桌面服务角色的逻辑部分分布于不同的服务器。 单击“下一步”。

  5. 在“选择目标服务器” 页面上,从服务器池中选择一台服务器,或选择脱机 VHD。 若要将离线的 VHD 选择为你的目标服务器,则先选择安装 VHD 的服务器,然后选择 VHD 文件。 若要了解如何将服务器添加到服务器池,请参阅 将服务器添加到服务器管理器。 选择了目标服务器之后,单击“下一步”。

    注意

    若要在脱机 VHD 上安装角色和功能,目标 VHD 必须符合以下要求。

    • VHD 必须运行与Windows版本匹配的 服务器管理器 Server 版本。 请参阅使用添加角色和功能向导安装角色、角色服务和功能的 起始说明

    • VHD 不能具备多个系统卷或分区。

    • 存储 VHD 文件的网络共享文件夹必须向已选择安装 VHD 的服务器的计算机(或本地系统)帐户授予以下访问权限。 仅用户帐户访问权限是不够的。 该共享可向“所有人”组授予“读取”“写入”权限,以允许访问 VHD,但出于安全原因,不建议这样做。

      • “文件共享”对话框上的“读/写”权限。
      • "安全性 " 选项卡、文件或 文件夹"属性"对话框中的 "完全控制 "访问权限。
  6. 选择角色、选择该角色的角色服务(如果适用),然后单击“下一步”以选择功能。

    继续操作时,添加角色和功能向导会自动通知你在目标服务器上是否发现冲突,这些冲突可能会阻止所选角色或功能的安装或正常操作。 系统还会提示你添加你已选中的角色或功能所需的所有角色、角色服务或功能。

    此外,如果你计划远程管理角色(从另一台服务器,或从运行远程服务器管理工具的基于 Windows 客户端的计算机),则可以选择不在目标服务器上安装角色的管理工具和管理单元。 默认情况下,在"添加角色和功能向导"中,会选择管理工具进行安装。

  7. 在“确认安装选择”页上,检查你的角色、功能和服务器选择。 如果准备好安装,单击“安装”

    还可以将所选内容导出到基于 XML 的配置文件,该文件可用于使用 Windows PowerShell。 若要导出在此添加角色和功能向导会话中指定的配置,请单击"导出配置设置",然后将 XML 文件保存到方便的位置。

    使用“确认安装选择”页上的“指定备用源路径”命令可以为在选定服务器上安装角色和功能时所必需的文件指定备用源路径。 在 Windows Server 2012 及更高版本的 Windows Server 中,"按需功能"允许通过从远程托管的服务器中删除角色和功能文件来减少操作系统使用的磁盘空间量。 如果使用 Uninstall-WindowsFeature -remove cmdlet 从服务器中删除了角色和功能文件,日后可通过指定备用源路径,或指定存储必需角色和功能文件的共享,来在服务器上安装角色和功能。 源路径或文件共享必须授予 Everyone 组 ((出于安全原因) 不建议这样做)或目标服务器的计算机帐户 (DOMAINSERverNAME$) 的读取权限;授予用户帐户访问权限是不够的。 若要深入了解按需功能,请参阅 Windows Server 安装选项

    在正在运行的物理服务器上安装角色、角色服务和功能时,可以将 WIM 文件指定为备用功能文件源。 WIM 文件的源路径应采用以下格式,使用 WIM 作为前缀,功能文件所在的索引作为后缀:WIM:e:\sources\install.wim:4。 但是,不能直接将 WIM 文件用作将角色、角色服务和功能安装到脱机 VHD 的源;必须装载脱机 VHD 并指向其源文件的装载路径,或者必须指向包含 WIM 文件内容副本的文件夹。

  8. 单击"安装"后,"安装进度"页会显示安装进度、结果以及警告、失败或安装后配置步骤等消息,这些配置步骤是安装的角色或功能所需的。 在 Windows Server 的 Windows Server 2012 及更高版本中,可以在安装仍在进行时关闭添加角色和功能向导,在 服务器管理器 控制台顶部的"通知"区域中查看安装结果或其他消息。 单击 "通知 "标志图标,查看有关安装或其他任务的详细信息,这些任务在 服务器管理器。

使用 Windows PowerShell cmdlet 安装角色、角色服务和功能

服务器管理器部署 cmdlet Windows PowerShell GUI 的添加角色和功能向导和删除角色和功能向导类似,但具有重要区别。 在 Windows PowerShell,与添加角色和功能向导不同,默认情况下不包括角色的管理工具和管理单元。 要在角色安装中包括管理工具,可在 cmdlet 中添加 IncludeManagementTools 参数。 如果在运行 Windows Server 2012 或更高版本的服务器核心安装选项的服务器上安装角色和功能,可以将角色的管理工具添加到安装中,但无法在运行 Windows Server 的服务器核心安装选项的服务器上安装基于 GUI 的管理工具和管理单元。 在 Server Core 安装Windows PowerShell只能安装命令行和命令行管理工具。

若要使用 Install-WindowsFeature cmdlet 安装角色和功能

  1. 使用提升的用户权限执行以下操作之一打开 Windows PowerShell 会话。

    注意

    如果要在远程服务器上安装角色和功能,则无需使用提升的用户Windows PowerShell运行这些角色和功能。

    • 在 Windows 桌面上,右键单击任务栏上的 Windows PowerShell,然后单击“以管理员身份运行”

    • 在"Windows"屏幕上,右键单击"Windows PowerShell"磁贴,然后在应用栏上单击"以管理员角色运行"

  2. 键入 Get-WindowsFeature,再按 Enter,以查看本地服务器上可用和安装的角色和功能的列表。 如果本地计算机不是服务器,或者你想要有关远程服务器的信息,请运行 Get-WindowsFeature -computerName computer_name,其中 computer_name 表示运行 Windows Server 2016 的远程计算机的名称。 cmdlet 的结果包含步骤 4 中添加到 cmdlet 的角色和功能的命令名称。

    注意

    在 Windows PowerShell 3.0 及更高版本的 Windows PowerShell 中,无需在运行属于该模块的 cmdlet 之前将 服务器管理器 cmdlet 模块导入 Windows PowerShell 会话。 在你首次运行 cmdlet(模块的一部分)时,模块被自动导入。 此外,Windows PowerShell cmdlet 或 cmdlet 使用的功能名称都不区分大小写。

  3. 键入 Get-help Install-WindowsFeature,然后按 Enter 查看 cmdlet 的语法和 接受的参数。

  4. 键入以下内容,然后按 Enter,其中 feature_name 表示要安装的角色或功能的命令名称 (在步骤 2) 中获取, computer_name 表示要安装角色和功能的远程计算机。 使用逗号分隔多个 feature_name 值。 如果角色或功能安装需要,则 Restart 参数会自动重新启动目标服务器。

    Install-WindowsFeature -Name <feature_name> -computerName <computer_name> -Restart
    

    若要在脱机 VHD 上安装角色和功能,请同时添加 computerName 参数和 VHD 参数。 如果未添加 computerName 参数,cmdlet 假定装载了本地计算机来访问 VHD。 computerName 参数含有安装 VHD 的服务器名称, VHD 参数含有 VHD 在指定服务器上的路径。

    注意

    如果从运行computerName客户端操作系统的计算机运行 cmdlet,则必须Windows参数。

    若要在脱机 VHD 上安装角色和功能,目标 VHD 必须符合以下要求。

    • VHD 必须运行与Windows版本匹配的 服务器管理器 Server 版本。 请参阅使用添加角色和功能向导安装角色、角色服务和功能的 起始说明

    • VHD 不能具备多个系统卷或分区。

    • 存储 VHD 文件的网络共享文件夹必须向已选择安装 VHD 的服务器的计算机(或本地系统)帐户授予以下访问权限。 仅用户帐户访问权限是不够的。 该共享可向“所有人”组授予“读取”“写入”权限,以允许访问 VHD,但出于安全原因,不建议这样做。

      • “文件共享”对话框上的“读/写”权限。
      • "安全性 " 选项卡、文件或 文件夹"属性"对话框中的 "完全控制 "访问权限。
    Install-WindowsFeature -Name <feature_name> -VHD <path> -computerName <computer_name> -Restart
    

    例子: 以下 cmdlet 在远程服务器 ContosoDC1 组策略 Active Directory 域服务角色和 组策略 管理功能。 已使用 IncludeManagementTools 参数添加管理工具和管理单元,并且目标服务器将自动重新启动(如果安装需要重新启动服务器)。

    Install-WindowsFeature -Name AD-Domain-Services,GPMC -computerName ContosoDC1 -IncludeManagementTools -Restart
    
  5. 安装完成后,通过打开 服务器管理器 中的"所有服务器"页、选择安装了角色和功能的服务器,以及查看所选服务器页面上的"角色和功能"磁贴来验证安装Get-WindowsFeature还可以运行以所选服务器 (Get-WindowsFeature -computerName <Get-WindowsFeature>) 为目标的 cmdlet,以查看服务器上安装的角色和功能的列表。

使用删除角色和功能向导删除角色、角色服务和功能

必须以管理员身份登录到服务器才能卸载角色、角色服务和功能。 如果你在卸载目标服务器上使用不具备管理员权限的帐户登录到本地计算机,则右键单击“服务器”磁贴中的目标服务器,然后单击“管理身份”提供具有管理员权限的帐户。 要装载脱机 VHD 的服务器必须添加到服务器管理器,且你必须具有对该服务器的管理员权限。

使用删除角色和功能向导删除角色和功能

  1. 如果服务器管理器已经打开,则继续执行下一步。 如果服务器管理器尚未打开,请执行以下任一操作打开它。

    • 在 Windows 桌面上,启动服务器管理器,方法是单击 Windows 任务栏中的“服务器管理器” 。

    • 在 Windows 的“开始”屏幕上,单击“服务器管理器”磁贴。

  2. 在“管理”菜单上,单击“删除角色和功能”

  3. 在“开始之前”页上,验证是否准备好从服务器中删除角色和功能。 单击“下一步”。

  4. 在" 选择目标服务器 "页上,从服务器池中选择服务器,或选择脱机 VHD。 若要选择离线的 VHD,请选择安装 VHD 的服务器,然后选择 VHD 文件。

    注意

    存储 VHD 文件的网络共享文件夹必须向已选择安装 VHD 的服务器的计算机(或本地系统)帐户授予以下访问权限。 仅用户帐户访问权限是不够的。 该共享可向“所有人”组授予“读取”“写入”权限,以允许访问 VHD,但出于安全原因,不建议这样做。

    • “文件共享”对话框上的“读/写”权限。
    • 文件或文件夹“属性”对话框中“安全”选项卡上的“完全控制”访问权限。

    若要了解如何将服务器添加到服务器池,请参阅 将服务器添加到服务器管理器。 选择了目标服务器之后,单击“下一步”。

    注意

    可以使用删除角色和功能向导从运行相同版本的 Windows Server 的服务器中删除角色和功能,该服务器支持服务器管理器版本。 如果在 Windows Server 2012 R2、Windows Server 2012 或 Windows 8 上运行 服务器管理器,则不能从运行 Windows Server 2016 的服务器中删除角色、角色服务或Windows 8。 不能使用删除角色和功能向导从运行 Windows Server 2008 或 Windows Server 2008 R2 的服务器中删除角色和功能。

  5. 选择角色、选择该角色的角色服务(如果适用),然后单击“下一步”以选择功能。

    继续操作时,删除角色和功能向导会自动提示你删除在删除角色或功能的情况下无法运行的任何角色、角色服务或功能。

    此外,可以选择删除目标服务器上角色的管理工具和管理单元。 默认情况下,在"删除角色和功能向导"中,会选择管理工具进行删除。 如果你计划使用选中的服务器管理其他远程服务器上的角色,则可以保留管理工具和管理单元。

  6. 在“确认删除选择”页上,检查你的角色、功能和服务器选择。 如果已准备好删除角色或功能,请单击"删除 "

  7. 单击"删除"后,删除进度页将显示删除进度、结果和消息,例如警告、失败或所需的删除后配置步骤,例如重新启动目标服务器。 在 Windows Server 2012 及更高版本的 Windows Server 中,可以在删除仍在进行时关闭删除角色和功能向导,并查看 服务器管理器 控制台顶部的"通知"区域中的删除结果或其他消息。 单击 "通知 "标志,查看有关删除或在作业中执行的其他任务的服务器管理器。

使用 Windows PowerShell cmdlet 删除角色、角色服务和功能

服务器管理器部署 cmdlet Windows PowerShell基于 GUI 的删除角色和功能向导类似,但具有重要区别。 在 Windows PowerShell,与删除角色和功能向导不同,默认情况下不会删除角色的管理工具和管理单元。 要在角色删除中包括管理工具,可向 cmdlet 中添加 IncludeManagementTools 参数。 如果要从运行 Windows Server 2012 的服务器核心安装选项或更高版本的 Windows Server 中卸载角色和功能,此参数将删除指定角色和功能的命令行和 Windows PowerShell 管理工具。

若要使用 Uninstall-WindowsFeature cmdlet 删除角色和功能

  1. 使用提升的用户权限执行以下操作之一打开 Windows PowerShell 会话。

    注意

    如果要从远程服务器卸载角色和功能,则无需Windows PowerShell权限的客户端。

    • 在 Windows 桌面上,右键单击任务栏上的 Windows PowerShell,然后单击“以管理员身份运行”

    • 在"Windows"屏幕上,右键单击"Windows PowerShell"磁贴,然后在应用栏上,单击"以管理员角色运行"

  2. 键入 Get-WindowsFeature,再按 Enter,以查看本地服务器上可用和安装的角色和功能的列表。 如果本地计算机不是服务器,或者你想要有关远程服务器的信息,请运行 Get-WindowsFeature -computerName computer_name,其中 computer_name 表示运行 Windows Server 2016 的远程计算机的名称。 cmdlet 的结果包含步骤 4 中添加到 cmdlet 的角色和功能的命令名称。

    注意

    在 Windows PowerShell 3.0 及更高版本的 Windows PowerShell 中,无需在运行属于该模块的 cmdlet 之前将 服务器管理器 cmdlet 模块导入 Windows PowerShell 会话。 在你首次运行 cmdlet(模块的一部分)时,模块被自动导入。 此外,Windows PowerShell cmdlet 或 cmdlet 使用的功能名称都不区分大小写。

  3. 键入 Get-help Uninstall-WindowsFeature,然后按 Enter 查看 cmdlet 的语法和 接受的参数。

  4. 键入以下项,再按 Enter,其中 feature_name 表示要删除的角色或功能(在步骤 2 中获取)的命令名称,而 computer_name 表示要从中删除角色和功能的远程计算机。 使用逗号分隔多个 feature_name 值。 Restart 参数会根据角色或功能删除的要求自动重新启动目标服务器。

    Uninstall-WindowsFeature -Name <feature_name> -computerName <computer_name> -Restart
    

    若要从脱机 VHD 中删除角色和功能,请同时添加 computerName 参数和 VHD 参数。 如果未添加 computerName 参数,cmdlet 假定装载了本地计算机来访问 VHD。 computerName 参数含有安装 VHD 的服务器名称, VHD 参数含有 VHD 在指定服务器上的路径。

    注意

    如果从运行computerName客户端操作系统的计算机运行 cmdlet,则必须Windows参数。

    存储 VHD 文件的网络共享文件夹必须向已选择安装 VHD 的服务器的计算机(或本地系统)帐户授予以下访问权限。 仅用户帐户访问权限是不够的。 该共享可向“所有人”组授予“读取”“写入”权限,以允许访问 VHD,但出于安全原因,不建议这样做。

    • “文件共享”对话框上的“读/写”权限。
    • "安全性 " 选项卡、文件或 文件夹"属性"对话框中的 "完全控制 "访问权限。
    Uninstall-WindowsFeature -Name <feature_name> -VHD <path> -computerName <computer_name> -Restart
    

    例子: 以下 cmdlet 从远程服务器 ContosoDC1 组策略 Active Directory 域服务角色和 组策略 管理功能。 还已删除管理工具和管理单元,并且目标服务器将被自动重新启动(如果删除需要重新启动服务器)。

    Uninstall-WindowsFeature -Name AD-Domain-Services,GPMC -computerName ContosoDC1 -IncludeManagementTools -Restart
    
  5. 删除完成后,请通过打开 服务器管理器 中的"所有服务器"页、选择从中删除角色和功能的服务器,以及查看所选服务器页面上的"角色和功能"磁贴来验证角色和功能是否已删除。 Get-WindowsFeature还可以运行以所选服务器 (Get-WindowsFeature -computerName <Get-WindowsFeature>) 为目标的 cmdlet,以查看服务器上安装的角色和功能的列表。

通过运行 Windows PowerShell 脚本在多个服务器上安装角色和功能

尽管不能使用添加角色和功能向导在单个向导会话中的多个目标服务器上安装角色、角色服务和功能,但可以使用 Windows PowerShell 脚本在使用 服务器管理器 管理的多个目标服务器上安装角色、角色服务和功能。 调用此过程时,用于执行批处理部署的脚本指向一个 XML 配置文件,可以使用添加角色和功能向导轻松创建该文件,在通过向导前进到"添加角色和功能向导"的"确认安装选择"页后单击"导出配置设置"即可轻松创建该文件。

重要

脚本中指定的所有目标服务器都必须运行 Windows Server 的版本,该版本服务器管理器你在本地计算机上运行的版本匹配。 例如,如果在 服务器管理器 上运行 Windows 10,可以在运行 Windows Server 2016 的服务器上安装角色、角色服务和Windows Server 2016。 如果将基于 GUI 的管理工具添加到安装中,则安装过程会自动将运行 Windows Server 的服务器核心安装选项的目标服务器转换为具有完整 GUI 的完整安装选项 (服务器,也称为运行服务器图形 shell) 。

本部分中提供的脚本是Install-WindowsFeature如何使用 cmdlet 和 Windows PowerShell脚本执行批处理部署的示例。 有其他可能的脚本和方法可执行对多个服务器的批量部署。 若要搜索或提供用于部署角色和功能的其他脚本,请搜索 脚本中心存储库

在多个服务器上安装角色和功能

  1. 如果尚未这样做,请创建一个 XML 配置文件,其中包含要安装在多个服务器上的角色、角色服务和功能。 可以通过运行"添加角色和功能向导",选择角色、角色服务和想要的功能,并单击"在向导中完成确认安装选择"页后单击"导出配置设置"来创建此配置文件。 将配置文件保存到某个方便的位置。 如果你运行向导仅用于创建配置文件,则无需单击“安装”或完成向导。

  2. 使用提升的用户权限执行以下操作之一打开 Windows PowerShell 会话。

    • 在 Windows 桌面上,右键单击任务栏上的 Windows PowerShell,然后单击“以管理员身份运行”

    • 在"Windows"屏幕上,右键单击"Windows PowerShell"磁贴,然后在应用栏上,单击"以管理员角色运行"

  3. 将以下脚本复制并粘贴到Windows PowerShell会话中。

    function Invoke-WindowsFeatureBatchDeployment {
        param (
            [parameter(mandatory)]
            [string[]] $computerNames,
            [parameter(mandatory)]
            [string] $ConfigurationFilepath
        )
    
        # Deploy the features on multiple computers simultaneously.
        $jobs = @()
        foreach($computerName in $computerNames) {
            $jobs += start-Job -Command {
                Install-WindowsFeature -ConfigurationFilepath $using:ConfigurationFilepath -computerName $using:computerName -Restart
            }
        }
    
        Receive-Job -Job $jobs -Wait | select-Object Success, RestartNeeded, exitCode, FeatureResult
    }
    

    如果所选角色和功能需要,则会自动重新启动目标服务器。

  4. 通过执行以下操作运行该函数。

    1. 创建在其中存储目标计算机名称的变量,用逗号分隔。 在以下示例中,变量 $ServerNames 存储目标服务器名称 $ServerNamesContoso_02。 按 Enter

      # Sample Invocation
      $ServerNames = 'Contoso_01','Contoso_02'
      Invoke-WindowsFeatureBatchDeployment -computerNames $ServerNames -ConfigurationFilepath C:\Users\sampleuser\Desktop\DeploymentConfigTemplate.xml
      
    2. 若要运行此函数,请键入以下内容,然后按 Enter ,其中 为在上述步骤中所创建变量的示例, C:\Users\Sampleuser\Desktop\DeploymentConfigTemplate.xml 为在步骤 1 中所创建配置文件路径的示例。

      Invoke-WindowsFeatureBatchDeployment -computerNames $ServerNames -ConfigurationFilepath C:\Users\Sampleuser\Desktop\DeploymentConfigTemplate.xml

  5. 安装完成后,通过打开 服务器管理器 中的"所有服务器"页、选择安装了角色和功能的服务器,以及查看所选服务器页面上的"角色和功能"磁贴来验证安装。 还可以运行以Get-WindowsFeature特定服务器为目标的 cmdlet Get-WindowsFeature -computerName< (Get-WindowsFeature>以查看服务器上安装的角色和功能的列表。

安装 .NET Framework 3.5 和其他按需功能

从 Windows Server 2012 和 Windows 8 开始,.NET Framework 3.5 ((包括 .NET Framework 2.0 和 .NET Framework 3.0) )的功能文件默认在本地计算机上不可用。 文件已删除。 已在按需功能配置中删除的功能的文件以及 .NET Framework 3.5 的功能文件通过 Windows 更新提供。 默认情况下,如果功能文件在运行 Windows Server 2012 或更高版本的目标服务器上不可用,则安装过程会通过连接到 Windows Update 来搜索缺少的文件。 无论使用添加角色和功能向导 GUI 还是命令行进行安装,都可以在安装过程中配置组策略设置或指定备用源路径,来替代默认行为。

通过执行以下一项操作,可以安装 .NET Framework 3.5。

  • 使用 通过运行 Install-WindowsFeature cmdlet 来安装 .NET Framework 3.5 来添加 参数,并指定从中获取 .NET Framework 3.5 功能文件的源。 如果未添加 Source 参数,安装进程先确定组策略设置是否指定了功能文件路径,并在找到此类路径后,使用 Windows 更新搜索缺少的功能文件。

  • 使用 通过.NET Framework角色和功能向导安装 3.5,在"添加角色和功能向导"的"确认安装选项"页上指定备用源文件位置

  • 使用使用 DISM 安装 .NET Framework 3.5 默认情况下从 Windows 更新获取文件,或通过指定安装介质的源路径。

如果未在本地计算机上找到功能文件,为 .NET Framework 3.5 或其他功能配置组策略中的功能文件的备用来源

重要

从远程来源安装功能文件时,源路径或文件共享必须将“读取”权限授予“任何人”组(出于安全原因,不建议这样做),或授予目标服务器的计算机(本地系统)帐户;授予用户帐户访问权限并不足够。

即使工作组服务器的计算机帐户具有外部共享“读取”权限,位于工作组中的服务器也无法访问外部文件共享。 为工作组服务器服务的备用源位置包括安装媒体、Windows 更新和存储在本地工作组服务器上的 VHD 或 WIM 文件。

在正在运行的物理服务器上安装角色、角色服务和功能时,可以将 WIM 文件指定为备用功能文件源。 WIM 文件的源路径应采用以下格式,使用 WIM 作为前缀,功能文件所在的索引作为后缀:WIM:e:\sources\install.wim:4。 但是,不能直接将 WIM 文件用作将角色、角色服务和功能安装到脱机 VHD 的源;必须装载脱机 VHD 并指向其源文件的装载路径,或者必须指向包含 WIM 文件内容副本的文件夹。

通过运行 Install-WindowsFeature cmdlet 来安装 .NET Framework 3.5

  1. 使用提升的用户权限执行以下操作之一打开 Windows PowerShell 会话。

    注意

    如果要从远程服务器安装角色和功能,则无需Windows PowerShell权限的客户端。

    • 在 Windows 桌面上,右键单击任务栏上的 Windows PowerShell,然后单击“以管理员身份运行”

    • 在"Windows"屏幕上,右键单击"Windows PowerShell"磁贴,然后在应用栏上,单击"以管理员角色运行"

    • 在运行 R2 或 Windows Server 2012 Server Core 安装选项Windows Server 2012,在命令提示符中键入 PowerShell,然后按 Enter

  2. 键入以下命令,然后按 Enter。 在以下示例中,源文件位于驱动器 D 上的安装介质中的并排存储区(简称为 SxS)中。

    Install-WindowsFeature NET-Framework-Core -Source D:\Sources\SxS
    

    如果想要命令使用 Windows 更新作为缺少的功能文件的源,或已使用组策略配置默认源,则无需添加 Source 参数,除非要指定不同源。

若要使用.NET Framework角色和功能向导安装 .NET Framework 3.5

  1. 在"管理 " 菜单上服务器管理器,单击" 添加角色和功能"

  2. 选择正在运行的目标Windows Server 2016。

  3. 在"添加角色和功能向导"的"选择功能"页上,选择".NET Framework 3.5"

  4. 如果组策略设置允许本地计算机这样做,安装进程将尝试使用 Windows 更新获取缺少的功能文件。 单击“安装”;你无需继续执行下一步。

    如果组策略设置不允许此操作,或者想要对 .NET Framework 3.5 功能文件使用另一个源,请在向导的"确认安装选择"页上,单击"指定备用源路径"。

  5. 提供并排存储区(称为 SxS)在安装介质的路径或 WIM 文件的路径。 在以下示例中,安装介质位于驱动器 D。

    D:\Sources\SxS\

    若要指定 WIM 文件,请添加 WIM: 前缀,并添加要在 WIM 文件中用作后缀的映像索引,如以下示例所示。

    WIM:\\server_name\share\install.wim:3

  6. 单击“确定”,再单击“安装”

使用 DISM 安装 .NET Framework 3.5

  1. 使用提升的用户权限执行以下操作之一打开 Windows PowerShell 会话。

    注意

    如果要从远程服务器安装角色和功能,则无需Windows PowerShell权限的客户端。

    • 在 Windows 桌面上,右键单击任务栏上的 Windows PowerShell,然后单击“以管理员身份运行”

    • 在"Windows"屏幕上,右键单击"Windows PowerShell"磁贴,然后在应用栏上,单击"以管理员角色运行"

    • 在运行 Server Core 安装选项的服务器上,在命令提示符中键入 PowerShell ,然后按 Enter

  2. 运行以下 DISM 命令之一。

    • 如果计算机有权访问 Windows Update,或者已在 组策略 中配置了默认源文件位置,请运行以下命令。

      DISM /online /Enable-Feature /Featurename:NetFx3 /All
      
    • 如果计算机有权访问安装介质,请运行类似于下面的命令。 在以下示例中,操作系统安装介质位于驱动器 D。 LimitAccess 参数可防止命令尝试联系 Windows 更新或运行 WSUS 的服务器。

      DISM /online /Enable-Feature /Featurename:NetFx3 /All /LimitAccess /Source:d:\sources\sxs
      

    注意

    DISM 命令区分大小写。

在组策略中为功能文件配置备用来源

本节中介绍的组策略设置指定 .NET Framework 3.5 文件及已在按需功能配置中删除的其他功能文件的授权源位置。 策略设置 "指定可选组件安装和 组件修复的设置"位于计算机 配置\管理模板\ 系统文件夹的 组策略管理控制台 或本地组策略编辑器中。

注意

你必须是管理员组成员,才能在本地计算机上更改组策略设置。 如果你想要管理的计算机的组策略设置在域级别控制,则你必须是域管理员组成员,才能更改组策略设置。

在组策略中配置默认备用源路径
  1. 在"本地组策略编辑器组策略管理控制台,打开以下策略设置。

    computer Configuration\管理模板\System\Specify settings for optional component installation and component repair

  2. 选择“已启用”以启用策略设置(如果尚未启用)。

  3. 在“选项”区域的“备用源路径”文本框中,指定共享文件夹或 WIM 文件的完全限定路径。 若要将 WIM 文件指定为备用源文件位置,请将前缀 WIM: 添加到路径,并添加要在 WIM 文件中用作后缀的映像索引。 以下是你可以指定的值示例:

    • 共享文件夹的路径: \\\\\share\folder_name

    • WIM 文件的路径,其中 3 表示找到功能文件的映像的索引:WIM:\server_name\share\install.wim:3

  4. 如果不希望此策略设置控制的计算机在 Windows Update 中搜索缺少的功能文件,请选择"从不尝试从 Windows Update 下载有效负载"

  5. 如果此策略设置控制的计算机通常通过 WSUS 接收更新,但你首选通过 Windows 更新而非 WSUS 查找缺少的功能文件,请选择“联系 Windows 更新直接下载修复内容,而非 Windows Server 更新服务 (WSUS)”

  6. 更改此策略设置后,单击“确定”,再关闭组策略编辑器。

另请参阅

Windows服务器安装选项Microsoft .NET Framework 3.5 部署注意事项如何启用或禁用Windows功能