您如何记录Windows服务器配置?


15

我来自Unix背景,在其中记录服务的配置(例如,电子邮件)可能像抓取一些文本配置文件和一段或两段解释性文本一样简单。

面对记录大量(50多个)Windows盒的配置的问题,我很沮丧地发现获取服务配置的视图有多么困难。我正在从头开始构建这些机器,因此我面临着使所有机器上的配置保持一致的需求。我将为所有使用Ghost或类似设备实用的服务器成像,但是AD或Exchange等服务的实际配置是一个手动的点击过程,很容易导致不一致。

人们如何建议我去创建可确保一致性的构建文档?其次,如何在不依靠屏幕截图等的情况下记录配置?我实际上正在考虑使用Camtasia来获取有关配置过程的视频,这似乎很荒谬。

谢谢你的帮助!

编辑:下面的一些答案非常有帮助,我认为这将使我有所了解。特别是,使用答案文件进行脚本化安装将有助于创建一致的安装,并且某些WMI工具对于文档编制(LANsweeper,SYDisproject等)非常有用。

我真正想拥有的工具是可以将所有配置吐出为人类可读/可编辑的格式,然后又将其重新吸收。Unix基本上总是使用自我记录的配置文件来完成此操作,因此令人失望的是,在所谓的现代OS中没有相同的功能!


+1,因为我遇到了同样的问题。暂时为我加载了屏幕截图和txt文件:(
克里斯·

1
@Chris:您编写的脚本不够硬,然后...>微笑<
Evan Anderson

Answers:


7

您说要从头开始构建系统,所以听起来好像您对自动化设置更感兴趣,而不是从“实时”系统中获取配置。

自Windows 2000以来,每个版本的Windows的安装都非常容易通过“应答文件”自动进行。

可以从应答文件执行Active Directory(dcpromo.exe)的安装。

可以从CSV / LDIF文件将对象导入Active Directory,也可以通过脚本以编程方式添加对象。如果您要创建一个域,则只需要导入一次这些对象,然后CSV / LDIF导入就可以了。如果要创建多个域或多个目录林,则最好编写脚本来服务(因为对象的可分辨名称在逐个域,逐个目录林的基础上是不同的)。

可以使用应答文件自动执行自Exchange 2000以来的每个版本的Exchange安装。

在Active Directory环境中,通过使用组策略在计算机上强制执行设置,可以具有许多配置一致性。我的目标是将所有非库存配置设置重新设置为:按组策略设置的操作系统,以便在部署新服务器时不会手动更改配置项(允许“远程桌面”,运行“添加/删除” Windows组件的/ SYSOCMGR来更改加载的Windows组件,应用本地文件系统和注册表权限等)。

除了产品的初始安装之外,有关每个产品在何处存储其配置的知识将使您走很长一段路要保持一致性。在Windows上,用于操纵文件系统和注册表的脚本与在* nix机器上操纵配置文件没有太大不同。在不合适的注册表操作的地方,通常会有命令行实用程序来执行大多数其他配置任务(netsh,“ net”命令,资源工具包工具等)。我可以肯定地说,如果您看上去很努力的话,您将要遇到的大多数配置任务已经自动化,并且可以由某些编写脚本。

re:磁盘映像-如果您具有相同的硬件,则在使用SYSPREP工具重置计算机的安全ID(SID)并准备进行映像之后,就可以使用磁盘映像。但是,如果硬件不一致,建议不要使用磁盘映像。您的服务器供应商(假设是知名品牌)应具有自动操作系统部署的“故事”,其中包括为硬件(OpenManage Server Assistant,SmartStart等)配置驱动程序。


看来非常有帮助,谢谢Evan-自动安装选项肯定可以帮助确保安装的一致性,我将对此进行调查。我确实将使用供应商工具来创建图像,并且硬件是相同的,因此没有困难。
约翰,

理想的是从运行中的计算机自动创建安装应答文件的方法-这可能吗?伙计,我完全不知道你们怎么忍受这些东西;-)
约翰·约翰(John John)2009年

1
@John:真的不是那么糟糕。一旦你使用命令行注册表操作和一些各种特色的命令行工具(DNSCMD.EXE从支持工具,netsh.exe中,等)的窍门,你真的可以做LOT在命令行(和,因此可以从脚本中获取)以获取可重复的配置。我从Unix世界(Xenix-ick)中的“真实”软件开始了我的生活,并且在Windows的工作方式下,我已经成长为优秀的人。注册表对我来说就像一个/ etc目录。微软在最后几个yeras上也对命令行管理有了很多改进。
埃文·安德森

在我看来,Windows提供了合理的接口来记录正在运行的配置,并且可以吐出配置的某些位(例如有人提到的GPO示例),但是无法将这些结合起来,即我希望机器吐出所有的配置以易于阅读/可编辑的形式进行配置,这使我只需进行一些更改即可将其轻松转移到另一台计算机上。Unix永远做到了这一点,令人惊讶的是,您在Windows中无法做到这一点。感谢您的帮助,至少我能以某种方式获得自己想要的东西!
约翰

5

“实时”系统的另一种选择是SYDI(http://sydiproject.com/

在项目网站上:“在最基本的层次上,SYDI包含一组脚本,这些脚本从您的服务器和网络中收集信息,然后将数据写入报告中。

记录网络似乎是一个巨大的项目,SYDI可帮助您入门。脚本无需自动收集诸如IP地址,操作系统版本,硬件配置之类的信息,而是自动收集这些信息,它可以直接写入Word(或XML)。”


2

实际上,许多Windows配置都是以理智和逻辑的方式存储在理智和逻辑的位置。如果要紧紧抓住Unix帽子,您可能正在尝试采用类似Unix的方法来收集这些信息,这将很快使您陷入混乱。

以组策略为例:为了记录GPO配置,您可以使用gpmc来(1)生成人类可读的配置文档,以及(2)生成当前GPO配置的计算机可用导出。只需单击几下鼠标,您便可以在一个不错的程序包中找到所有内容。

对于服务器设置,您可以使用WMI脚本以所需的精确格式转储可以想象的任何数量的信息,而不必靠近AD,文件系统或注册表。您甚至可以使用LANSweeper(http://www.lansweeper.com/)之类的免费工具来自动化该过程,并将最终结果显示在网页上,以供所有人查看。

需要注意的另一点是,在上面提到过,但需要重复一遍:在AD环境中,服务器之间并不存在隔离。配置AD,Exchange和GPO是一项一次性的工作。例如,您不需要在每个域控制器上分别配置GPO。


要实现看起来最简单的事情,有很多难题需要解决。我的设置与众不同,因为我有多个完全独立的相似,独立的AD域,但需要共享非常相似的配置以简化管理,因此需要易于记录的可重复配置。一旦拥有一台正在运行的服务器,使用WMI创建配置文档似乎很容易,但是以这样一种方式将所有配置吐出以使其可以快速编辑并读入另一台服务器(即Unix拥有的方式)并非易事。永远处理这些东西)。
约翰


1

我最近开始与Spiceworks合作,但我不得不承认,我怀疑它符合FM原理。

只要您的计算机经过域身份验证,它便会处理一切。至少,可以使用它以您更熟悉的形式创建文档。


感谢Matt的建议,看来这将是创建和维护正在运行的网络清单的有用工具。但是,它似乎没有能力例如以可以快速重建的方式为我提供交换服务器的完整配置。我必须说我对此感到如此惊讶感到惊讶。正如我提到的,在Unix世界中,有一些文本配置文件,您可以启动并运行了。担心一致性?只需比较2个配置即可!简单。
约翰,2009年

@John:例如,Exchange的配置存储在Active Directory中,而不是“在” Exchange Server计算机上。当您需要“重建”计算机时,A​​D中已经存在配置。导出和“区分” Exchange特定于服务器的设置的配置并不难。许多Windows管理员看起来并不“内幕”,他们意识到服务器计算机的大多数配置只是文件系统,注册表或Active Directory中的一堆键值对。
埃文·安德森

感谢Evan,如果可以在文件系统,注册表和AD之间拆分配置,则肯定比拉配置文件和运行diff复杂得多。如何以一种连贯和有用的方式整合这些混乱的信息?
约翰
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.