Я хочу создать центральный репозиторий файлов конфигурации, чтобы иметь возможность вносить изменения в любую конфигурацию под контролем версий (Mercurial). Это будет включать некоторые блоки GNU / Linux (которые будут использовать etckeeper), файлы конфигурации сетевого оборудования, файлы конфигурации принтера и, наконец, что не менее важно, конфигурации Windows.
Я знаю, что вы можете импортировать некоторые конфигурации, такие как ISA и DHCP, в виде файлов text / xml и даже общие папки в качестве ключа реестра, но для таких вещей, как GPO и AD, IIS, MSSql и другие, есть ли способы получить конфигурации в виде плоских файлов? В принципе, может у вас есть что-то эквивалентное etckeeper под Windows? Что-то вроде команд на основе PowerShell или тому подобное?
Кроме того, можно ли сохранить списки управления доступом и другие права доступа к файлам при управлении версиями (hg)?
Кстати, я уже читал
но безрезультатно.
Держите пакеты!
Это сценарий, предоставленный Майклом Дж. Гинтером, который создает резервную копию всех областей 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
В Windows нет стандартного способа для программного обеспечения хранить конфигурацию, поэтому не может быть единого метода для обработки этих конфигураций. Прежде чем кто-либо начнет болтать о том, что существует некий «стандарт», давайте посмотрим на рекомендации Microsoft на данный момент.
Приложения, в том числе собственные Microsoft, не имеют стандартного способа или места для хранения конфигураций и используют какие-либо или все вышеперечисленные методы, а также несколько «нестандартных». Добро пожаловать в непоследовательный и постоянно меняющийся мир Windows.
Для списков ACL и прав доступа к файлам вы можете попробовать PowerShell:
get-acl c:\temp | format-list
get-acl -path hklm:\ | format-list
Мы купили Tripwire для выполнения аналогичной функции, но она страдает от раздутости функций и своеобразного пользовательского интерфейса до такой степени, что ржавеет из-за пренебрежения.
На самом деле нет, во всяком случае, не бесплатно. Есть коммерческие продукты, которые могут это сделать, я понимаю, что они большие и дорогие. Opsware (или сейчас HP Server Automation) может это сделать.
Парень, который разработал MRTG попробовал и потерпел неудачу на нечто подобное лет 10 назад. Окружающая среда сильно изменилась, поэтому вы, возможно, сможете развить их работу и придумать что-то хорошее. Например, теперь вы можете сбрасывать объекты групповой политики, что было одной из их проблем.
/ edit - и вы всегда могли сбросить AD в LDIF или CSV. Выполняйте еженощный экспорт в один из них и вставляйте его в CSV. IIS находится в файловой системе и метабазе, которая также находится в файловой системе. Нормальные резервные копии и / или их копии в CSV были бы хороши. Конфигурация SQL, я не уверен в этом; Я думаю, что это весь реестр, и у PS, вероятно, есть крючки для их отображения.
Одно замечание - вы спрашиваете о резервном копировании ACL файлов? Jeebus, пожалуйста, скажите мне, что вы создаете резервные копии файлов, а ваше программное обеспечение для резервного копирования сохраняет ACL. Если вы вообще не выполняете резервное копирование файлов, какая польза от ACL для вас? Если вы не выполняете резервное копирование файлов с помощью списков контроля доступа, что не так с вашим программным обеспечением для резервного копирования? Вы можете включить аудит изменений ACL изначально, может быть, вы захотите это сделать?
Я не слышал ни об одном. Хотя реестр может быть домом (большей части) конфигурации в Windows, и он (вроде как) может быть представлен в текстовой форме, лучшее, на что вы можете надеяться, - это конфигурация Документация а не конфигурация Управление. Существуют API-интерфейсы для мониторинга изменений в реестре, о чем свидетельствуют несколько инструментов System Internals, которые теоретически допускают действия на основе событий (например, возврат к старой конфигурации). К сожалению, есть некоторые вещи (наиболее важными из которых является групповая политика), которые предназначены для обхода ограничений на изменение конфигурации на локальном компьютере.
Однако это управляет только базовой операционной системой. Как только вы начнете добавлять другие продукты Microsoft, ситуация значительно усложняется. У IIS есть собственная база данных, метабаза, которой нет в реестре. MS-SQL имеет целый набор конфигураций, хранящихся в самой базе данных среди других мест. AD, конечно, можно представить как плоский файл, это экспорт LDIF из LDAP, но опять же, это документация, а не управление. Сами групповые политики представляют собой деревья каталогов, заполненные файлами на контроллерах домена.
Это непростая работа. Вот почему такие системы, как Microsoft System Center Configuration Manager или Novell Zenworks Configuration Management, столь же сложны. На самом деле, насколько мне известно, эти продукты наиболее близки Windows к чему-то вроде etckeeper.
Код на 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 сервере. На данный момент у меня нет ни одного доступного для тестирования, но это один из подходов.