Есть ли аналог etckeeper для Windows? AKA Windows config контроль версий
Я хочу создать центральное хранилище конфигурационных файлов, чтобы у меня могли быть изменения в любом конфиге под контролем версий (Mercurial). Это будет включать в себя некоторые блоки GNU/Linux (которые будут использовать etckeeper), файлы конфигурации сетевого оборудования, файлы конфигурации принтера и, что не менее важно, настройки Windows.
Я знаю, что вы можете импортировать некоторые конфигурации, такие как ISA и DHCP, как текстовые /xml файлы и даже общие папки как раздел реестра, но для таких вещей, как объекты групповой политики и AD, IIS, MSSql и другие, есть ли способы получить конфигурации в виде плоских файлов? В принципе, можете ли вы иметь что-то вроде etckeeper под Windows? Что-то вроде команд на основе PowerShell или тому подобное?
Кроме того, могут ли ACL и другие права доступа к файлам сохраняться под управлением версиями (hg)?
Кстати, я уже читал
- Какие существуют решения, позволяющие использовать контроль версий для файлов конфигурации сервера?
- Какой инструмент вы рекомендуете отслеживать изменения на сервере Linux/Unix
но безрезультатно.
6 ответов
Держите их пакеты!
Это скрипт, предоставленный Майклом Дж. Гинтером, который создает резервную копию всех областей 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 (предоставляется компанией Microsoft по адресу http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/techref/en-us/Default.asp?url=/resources/documentation/windowsServ/2003/all/techref/en-us/w2k3tr_gp_tools.asp
Конфигурация IIS может быть экспортирована через iiscnfg.vbs в% systemroot% \ system32 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, чтобы выполнять аналогичную функцию, но он страдает от функционального раздувания и уникального пользовательского интерфейса до такой степени, что он ржавеет от пренебрежения.
В Windows нет стандартного способа хранения конфигурации в программном обеспечении, поэтому не может быть единого метода для обработки этих настроек. Прежде чем кто-то начнет болтать о том, что существует какой-то "стандарт", давайте пока посмотрим на рекомендации Microsoft.
- Сначала нам сказали создать все конфиги в win.ini.
- Затем нам сказали, что win.ini становится слишком большим, поэтому поместите конфиги в файл.ini в каталоге Windows.
- Нет, каталог Windows становится загроможденным. Используйте каталог приложения.
- Послушайте, у нас есть этот новый репозиторий центральной конфигурации, который мы будем называть "Реестр". Положите все свои вещи там.
- К сожалению, реестр становится слишком большим. Поместите конфиги в профиль пользователя.
- Угадайте что, профиль вещь не работает очень хорошо....
- и т. д.
Приложения, в том числе собственные Microsoft, не имеют стандартного способа или места для хранения конфигов и используют любой или все вышеперечисленные методы, а также несколько "нестандартных" методов. Добро пожаловать в противоречивый и постоянно меняющийся мир Windows.
Там действительно нет, не бесплатно в любом случае. Есть коммерческие продукты, которые могут сделать это, я понимаю, что они большие и дорогие. Opsware (или HP Server Automation сейчас) может сделать это.
Парень, который разработал MRTG, попробовал и потерпел неудачу на чем-то похожем около 10 лет назад. Окружающая среда сильно изменилась, так что вы можете опираться на их работу и придумать что-то хорошее. Например, теперь вы можете сбросить объекты групповой политики, что было одной из их проблем.
/ edit - и вы всегда можете сбросить AD в LDIF или CSV. Сделайте ночной экспорт в один из них и добавьте его в CSV. Все IIS находится в файловой системе и в метабазе, которая также находится в файловой системе. Нормальные резервные копии и / или их копии в CSV будут хорошими. Конфигурация SQL, я не уверен в этом; Я думаю, что это все реестр и PS, вероятно, есть крючки для их отображения.
Одно замечание - вы спрашиваете о резервном копировании ACL на файлы? Jeebus - пожалуйста, скажите мне, что вы создаете резервные копии файлов, и ваша программа резервного копирования сохраняет ACL. Если вы вообще не создаете резервные копии файлов, какая польза для вас от ACL? Если вы не создаете резервные копии файлов с помощью ACL, что не так с вашим программным обеспечением для резервного копирования? Вы можете включить аудит изменений ACL, может быть, вы хотите это сделать?
Я не слышал ни об одном. Хотя Реестр может быть домом (большей части) конфигурации для Windows, и он (своего рода) может быть представлен в текстовом виде, лучшее, на что вы можете надеяться, - это Документация по конфигурации, а не Управление конфигурацией. Существуют API-интерфейсы для мониторинга изменений в реестре, о чем свидетельствуют несколько системных системных инструментов, которые теоретически допускают действия, основанные на событиях (например, возврат к старой конфигурации). К сожалению, есть некоторые вещи (групповая политика, являющаяся самой большой), которые разработаны, чтобы преодолеть любые ограничения на изменение конфигурации на основе локальных компьютеров.
Тем не менее, это просто управляет базовой операционной системой. Как только вы начнете добавлять другие продукты Microsoft, ситуация станет намного сложнее. IIS имеет свою собственную базу данных, метабазу, которой нет в реестре. MS-SQL имеет целый набор настроек, хранящихся в самой базе данных среди других мест. Конечно, AD можно представить в виде простого файла, это экспорт LDIF из LDAP, но опять же, это документация, а не управление. Сами групповые политики - это деревья каталогов, заполненные файлами на контроллерах домена.
Это не легкая работа с любого натяжения. Вот почему такие системы, как Microsoft System Center Configuration Manager или Novell Zenworks Configuration Management, так же сложны, как и они. На самом деле, насколько я знаю, эти продукты - самые близкие Windows к чему-то вроде etcke eper.
Код на http://gallery.technet.microsoft.com/ScriptCenter/en-us/edca4de3-642a-4a84-9884-e4035c984e31 и http://gallery.technet.microsoft.com/ScriptCenter/en-us/a3c9ad7b-6b5c-40ef-a928-3565432735ee дают некоторое представление о том, что можно надеяться с помощью команды "netsh" на вашем сервере dhcp. В данный момент у меня нет ни одного доступного для тестирования, но это один из подходов.