Windows Server 2008 R2: 服务器核心部署的最佳做法

相对于完全部署 Windows Server,使用 Server Core 可带来大量好处,例如简单性和较小攻击面。

Brien M。 Posey

Windows Server 2008 和 Windows Server 2008 R2 时给您相当大的灵活性方面部署问题。 您可以部署为完全安装或在服务器核心配置。

服务器核心部署是最小的占地面积轻型 Windows 服务器的部署。 服务器核心部署缺少许多组件理所当然在完整的 Windows 服务器安装中,因此有许多神话周围服务器核心。 我将 debunk 的这些神话一些同时还使用服务器核心部署提供了一些最佳做法。 下面的示例中的所有基于 Windows Server 2008 R2。

服务器核心配置

大误区周围服务器核心之一是很难配置,因为您必须从命令提示符执行整个配置。 幸运的是,有几个工具,可使配置服务器核心要容易得多。

Windows Server 2008 R2 附带了一个内置的实用程序,您可以通过输入 SCONFIG 命令在命令提示符下调用。 此菜单驱动的实用程序允许您执行基本配置任务,如在指定 IP 地址、 计算机名称更改或加入域。

极大地简化了初始配置的另一个工具是服务器核心配置器 2.0 (请参阅图 1)。 此工具转更进一步简化初始配置,比 SCONFIG。 它包括 SCONFIG,与相同的功能,但您还可以添加或删除服务器角色和管理各种控制面板设置。 它甚至允许您输入产品密钥和激活服务器。 下载从核心配置器 coreconfig.codeplex.com/releases/view/36678

The Server Core Configurator provides a GUI interface for configuring Server Core

图 1 服务器核心配置器提供了一个 GUI 界面,用于配置服务器核心。

使用有限

由于服务器核心提供了一组有限的服务,因此不适合于所有相同的任务将使用完整的 Windows Server 2008 R2 部署。 相反,服务器核心只能容纳有限的数量的角色,都不默认安装的。 您可以安装的角色包括:

  • Active Directory 证书服务
  • Active Directory 域服务
  • Active Directory 轻型目录服务
  • 分支缓存承载高速缓存
  • DHCP 服务器
  • DNS 服务器
  • 文件服务
  • 媒体服务
  • 打印服务
  • Web 服务 (IIS)

修补程序管理至关重要

一些 IT 专业人员有想过服务器核心有很小的内存,因为它们可以将它视作一个装置,而不是实际的服务器。 这不是,则返回 true 修补程序管理是一项基本管理任务,无论系统是否正在运行服务器核心或完整的 Windows Server 部署。

但是,因为服务器核心的确有很小的内存,许多 Windows 服务器修补程序不能应用于服务器核心环境。 因此,运行服务器核心可以帮助减少的修补程序管理负担,但它永远不会消失完全。

最佳实践分析工具

您的最佳选择,可确保您的服务器核心部署符合 Microsoft 推荐的最佳做法是使用最佳实践分析工具。 这可能有点棘手,不过,没有一个 GUI。 您有两个主要选项,用于运行的最佳实践扫描。 一种是直接从服务器核心桌面运行扫描。 另一个选项是从没有 GUI 的另一台计算机上运行扫描。

请记住的一点是因为服务器核心包含,此类最少的一组服务,实际上没有任何诸如一套最佳实践配置核心操作系统这样的内容。 在这种情况,最佳实践分析工具是特定于角色的服务器。 如果您的服务器正在运行仅核心操作系统没有任何其他角色,您将无法执行基线扫描。

在扫描过程基于 BPA 模型的使用。 这些模型是特定于角色的。 例如,没有 Hyper-V 模型和 Active Directory 模型。

基于命令行的扫描

如果您要从命令行执行的最佳实践扫描,您需要安装 Windows PowerShell。 最简单的方法是否要运行 SCONFIG 命令,然后单击"配置远程管理"跟"启用 Windows PowerShell"(请参阅图 2)。

You can use the SCONFIG utility to enable Windows PowerShell

图 2 可以使用 SCONFIG 实用程序以启用 Windows PowerShell。

一旦您已经安装了 Windows PowerShell,您需要为 Windows PowerShell,以及最佳实践分析工具 cmdlet 安装服务器管理器 cmdlet。 您可以使用部署映像服务和管理 (DISM) 工具来执行此操作。

通常情况下,DISM 工具将用以管理部署映像,但通过使用 /Online 切换,则可以直接将 DISM 针对当前的 OS 采取行动。 您可以通过输入以下命令,在命令提示符下安装必要的 Windows PowerShell cmdlet (请参阅图 3):

DISM /Online /Enable-Feature /FeatureName:ServerManager-PSH-Cmdlets DISM /Online /Enable-Feature /FeatureName:BestPractices-PSH-Cmdlets

You can use the DISM command to install the necessary Windows PowerShell cmdlets

图 3 可以使用 DISM 命令以安装所需 Windows PowerShell cmdlet。

现在,有必要的组件,您可以运行的最佳实践扫描。 因为可以通过 Windows PowerShell 运行扫描,请输入 PowerShell.exe 命令。 执行操作时,命令提示符窗口将转换为 Windows PowerShell 窗口。

您将不得不做的下一件事是导入以前启用的 cmdlet。 用两个简单的 Windows PowerShell 命令,可以做到这一点:

Import-Module ServerManager Import-Module BestPractices

现在,所有部分位于适当位置,您应验证所需的最佳实践分析工具模型位于适当位置。 通过输入以下命令来执行此操作:

Get-BPAModel

结果应如下所示中看到的内容图 4。 如果不没有返回任何结果,然后最佳实践分析工具不起作用如果您试图执行扫描。

You can use the Get-BPAModel command to see which models are installed

图 4 可以使用 Get BPAModel 命令来查看安装哪些机型。

运行的最佳实践扫描的最简单方法是使用此命令:

Get-BPAModel | Invoke-BPAModel

此命令,如所示图 5,对所有服务器上安装的模型都运行的最佳实践扫描。

The best practices scan won’t display any results if the models aren’t in place

图 5 最佳实践扫描不会显示任何结果,如果模型不在的地方。

因为没有自动显示结果,请输入以下命令,以查看它们:

Get-BPAModel | Get-BPAResult | Out-File "C:\BPA.txt"

此命令将创建一个文本文件的扫描结果。 您可以将文件复制到另一个系统或您可以使用下面的命令以查看结果,请:

Type C:\BPA.TXT

您可以查看扫描结果的显示图 6

This is what the scan results look like

图 6 这是扫描结果看起来类似。

执行 GUI 最佳实践扫描

您还可以使用 GUI 执行 Server Core 部署的最佳实践扫描。 若要执行此操作,您需要从运行 Windows Server 2008 R2 的服务器运行扫描,也可以使用与远程服务器管理工具在运行 Windows 7 的计算机。 如果您决定使用 Windows 7 中,然后您可以下载远程服务器管理工具从 microsoft.com/download/en/details.aspx?displaylang=en & id = 7887

基于命令行的最佳做法进行扫描,正如使用 GUI 扫描要求您拥有核心服务器上安装的 Windows PowerShell。 您还需要启用 MMC 管理和 $ 服务器管理器远程管理。 您可以通过输入 SCONFIG 命令并执行这些步骤准备服务器:

输入的 4 (配置远程管理)
输入 2 (启用 Windows PowerShell)
重新启动服务器
以用户身份登录,然后输入 SCONFIG
输入的 4 (配置远程管理)
输入 1 (允许 MMC 远程管理)
输入的 3 (允许服务器管理器远程管理)
输入 5 (返回到主菜单)
输入 13 (Exit 命令行)

要执行扫描,请打开服务器管理器,右键单击您的服务器控制台树中的列表。 然后从快捷菜单中选择"连接到另一台计算机"。 出现提示时,输入所要扫描的计算机的名称。

一旦连接到远程服务器核心计算机,展开角色容器,然后选择要为其运行的最佳实践扫描的角色。 在滚动查看结果,您应看到标有最佳实践分析工具一节。 您可以通过单击扫描此角色链接扫描该角色。 扫描结果会显示在最佳实践分析工具部分中,如中所示图 7

You can scan a core server by using another server’s GUI

图 7 可以扫描核心服务器通过使用另一台服务器的 GUI。

Windows PowerShell

许多此处描述的过程依赖于正在服务器核心计算机上安装的 Windows PowerShell。 除非您计划在上运行的应用程序需要 Windows PowerShell,完成后具有的初始配置和测试的最佳做法,但您可能应移动它。

这可能看起来很奇怪,因为有大量声称如果您想要从命令行管理服务器核心,您必须这样做 Windows PowerShell 通过在 Internet 上的帖子。 但是,服务器核心旨在从命令提示符处,而不是从 Windows PowerShell 进行管理。 事实上,第一个版本的服务器核心甚至不允许安装 Windows PowerShell。 从技术上讲,没有什么不对去安装在您的服务器上的 Windows PowerShell。 但是,大多数人 Server Core 由于使用其较小的占地面积和小的受攻击面因为有安装的 Windows PowerShell 增加了服务器的攻击面。

您可以通过打开命令提示符窗口并输入以下命令以删除 Windows PowerShell (请参阅图 8):

Start /W ocsetup MicrosoftWindowsPowerShell /Uninstall

You can use the Start /W OCSETUP Microsoft Windows PowerShell /Uninstall command to remove Windows PowerShell

图 8 ,可以使用开始 /W OCSETUP Microsoft Windows PowerShell /Uninstall 命令以删除。 Windows PowerShell

一些您可能想知道为什么我使用开始 /W OCSETUP 命令代替 ServerManagerCMD。 为什么我不使用 ServerManagerCMD 的两个原因有:

  • 首先,ServerManagerCMD 是命令行界面服务器管理器。 服务器管理器不会存在于服务器核心,所以使用 ServerManagerCMD 不甚至是一个选项。
  • 不使用 ServerManagerCMD 的另一个原因是因为尽管完全安装的 Windows Server 2008 R2 中存在该命令,该命令已被否决。 Microsoft 希望您开始使用 Windows PowerShell cmdlet 来添加和删除功能,而不是依赖于 ServerManagerCMD。 当然,您不能使用 Windows PowerShell 命令删除 Windows PowerShell。

正如您所见,用于管理服务器核心技术不同于用于管理一个典型的 Windows Server 2008 部署。 即便如此,服务器核心非常适合在高安全性环境或当您需要以节省服务器资源的使用。

Brien Posey

**Brien Posey**MVP,是与数以千计的文章和数十种书籍他记账位自由技术撰稿人。 您可以访问 Posey 的网站,网址 brienposey.com

相关内容