是否有一个etckeeper相当于Windows? 也是Windowsconfiguration修订控制

我想创build一个中央configuration文件存储库,以便我可以对版本控制(Mercurial)下的任何configuration进行更改。 这将包括一些GNU / Linux的盒子(将使用etckeeper),networking设备的configuration文件,打印机的configuration文件和最后但并非最不重要的Windowsconfiguration。

我知道你可以导入一些configuration,如ISA和DHCP作为文本/ XML文件,甚至共享文件夹作为registry项,但像GPO和AD,IIS,MSSQL和其他东西,有办法将configuration文件作为平面文件? 基本上,你能有一些相当于windows下的etckeeper的东西吗? 像一些基于PowerShell的命令或类似的东西?

另外,可以在版本控制(hg)下保存ACL和其他文件权限吗?

顺便说一下,我已经阅读

  • 有什么解决scheme允许使用服务器configuration文件的版本控制?
  • 你推荐什么工具来跟踪Linux / Unix服务器上的变化

无济于事。

抓住他们的包!

这是Michael J Ginter提供的一个脚本,它创build服务器上所有DHCP作用域的备份。 (请注意,它将停止并重新启动DHCP服务器服务。):

http://gallery.technet.microsoft.com/ScriptCenter/en-us/ff25d864-6ff0-411b-b242-97fbe34f011b

您可以使用LDIFDE从AD导入和导出数据: http : //support.microsoft.com/kb/237677

可以使用ADMX.exe导出GPO(由Microsoft提供, url为http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/techref/en-us/Default.asp?url=/resources/documentation/ windowsServ / 2003 /所有/ techref / EN-US / w2k3tr_gp_tools.asp

IISconfiguration可以通过%systemroot%\ system32中的iiscnfg.vbs导出http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/81f04967-f02f-4845-9795-bad2fe1a1687.mspx?mfr=true

对于ACL和文件权限,您可以尝试使用PowerShell:

get-acl c:\temp | format-list get-acl -path hklm:\ | format-list 

我们买了Tripwire来做一个类似的function,但是它遭受了特征膨胀和特殊的UI,从而忽视了它的生锈。

在Windows上,没有用于存储configuration的软件的标准方式,因此不能有一种方法来处理这些configuration。 在任何人开始讨论如何有某种“标准”之前,让我们来看看迄今为止的微软build议。

  • 首先,我们被告知在win.ini中创build所有configuration。
  • 接下来被告知win.ini变得太大了,所以把configuration文件放在Windows目录下的.ini文件中。
  • 不,Windows目录越来越混乱。 使用应用程序目录。
  • 看,我们有这个新的中央configuration存储,我们将称之为“registry”。 把你所有的东西放在那里。
  • 糟糕,registry变得太大了。 将configuration放在用户configuration文件中。
  • 猜猜看,configuration文件是不是很好….
  • 等等

包括微软自己在内的应用程序没有标准的存储configuration的方式或位置,并且使用上述任何一种或全部方法,以及一些“非标准”方法。 欢迎来到Windows不一致和不断变化的世界。

反正真的不是免费的。 有商业产品可以做到这一点,我明白,他们是大而昂贵的。 Opsware(或HP Server Automation现在)可以执行此操作。

开发MRTG的人在10年前就尝试过类似的东西。 环境已经发生了很大的变化,所以你也许可以在自己的工作上有所作为,并且提出一些好的build议。 例如,您现在可以转储GPO,这是他们的问题之一。

/编辑 – 而且您始终可以将AD转储为LDIF或CSV。 做一个夜间出口到其中的一个,并啜饮成CSV。 IIS全部在文件系统和元数据库中,也在文件系统中。 正常的备份和/或那些复制到CSV将是很好的。 SQLconfiguration,我不太确定; 我认为这是所有的registry和PS可能有挂钩来显示这些。

一个注意事项 – 你问关于备份ACL文件? Jeebus – 请告诉我你正在备份这些文件,而你的备份软件会保留ACL。 如果根本没有备份文件,ACL对您有什么好处? 如果您不使用ACL备份文件,备份软件有什么问题? 您可以本机打开ACL更改审核,也许你想这样做?

我没有听说过。 虽然registry可能是Windows上(大多数)configuration的家,而且它(有点)可以以文本forms表示,但是您可以期望的最好的是configuration文档,而不是configurationpipe理 。 有几个API用于监视registry的变化,正如几个系统内部工具所certificate的那样,这些工具理论上允许基于事件的操作(例如恢复到旧的configuration)。 不幸的是,有一些事情(组策略是最大的),旨在通过任何本地机器限制configuration更改。

但是,这只是pipe理基本的操作系统。 一旦你开始在其他微软产品中添加,情况会变得非常复杂。 IIS有它自己的数据库,元数据库,不在registry中。 MS-SQL有一大堆的configuration存储在数据库本身和其他地方。 AD当然可以表示为一个平面文件,它是从LDAP的LDIF导出,但是这又是文档而不是pipe理。 组策略本身是由域控制器上的文件填充的目录树。

这一切都不是一件容易的事情。 这就是为什么像微软的系统中心configurationpipe理器或Novell的Zenworksconfigurationpipe理系统一样复杂。 事实上,据我所知这些产品是最接近Windows的东西,像etckeeper。