Чи є еквівалент etckeeper для Windows? AKA Windows config revision-control


13

Я хочу зробити центральне сховище конфігураційного файлу, щоб я міг змінити будь-який конфігурацію під контролем редагування (Mercurial). Сюди ввійдуть деякі поля GNU / Linux (в яких буде використовуватися etckeeper), конфігураційні файли мережевого обладнання, конфігураційні файли принтера та останнє, але не менш важливе значення, налаштування Windows.

Я знаю, ви можете імпортувати деякі конфігурації, такі як ISA та DHCP, як текстові / xml-файли і навіть спільні папки як ключ реєстру, але для таких речей, як GPO та AD, IIS, MSSql та інші, чи є способи отримати конфігурації як плоскі файли? В основному, чи можете ви мати щось дещо еквівалентне etckeeper під windows? Щось на зразок деяких команд на основі повноважень чи подібних?

Також чи можна зберігати ACL та інші дозволи на файли під контролем версій (hg)?

До речі, я вже читав

безрезультатно.

Відповіді:


4

Тримайте їх пакети!

Це сценарій, наданий Майклом Дж. Гінтер, який створює резервну копію всіх областей DHCP на сервері. (Зверніть увагу, що він зупинить і перезапустить сервер DHCP Server.):

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 Config можна експортувати через iiscnfg.vbs у% systemroot% \ system32 http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/81f04967-f02f-4845-9795-bad2fe1a1687.mspx?mfr=true


Ви цілком раді! На жаль, не існує жодного безкоштовного рішення "все в одному" для того, що ви хочете, але в поєднанні з CMS, надійним резервним сховищем та / або версією програмного забезпечення (наприклад, Mercurial, Git або Subversion) ви можете прокласти своє власне. І все це повинно бути сценарієм!
gWaldo

Початковою ідеєю було Redmine / trac з hg (ну, якби я використовував redmine, я, мабуть, пішов би з Git, кращою інтеграцією), etckeeper на Linux-машинах, ssh script, щоб отримати run_config від комутаторів та маршрутизаторів, і voodoo разом із сценаріями win для конфігурації дампа (можливо, з модифікацією файлів OSSEC "гачками") на машинах win, всі вони переходять до репортажу HG ... Проблема полягає в тому, що у Windows немає нічого близького до тощо, отже, це. Також усіх скинули в SAN / NAS. Ви коли-небудь встановлювали щось подібне до описаного вами? Чи можете ви дати мені кілька покажчиків?

Це пекло гарна ідея, але я нічого подібного не зробив. Якщо ви можете згрупувати його достатньо, я рекомендую продукувати його та / або прокрутити проект F / OSS. Зазвичай я рекомендую включити дату / часову позначку до імені файлу, однак це не має великого значення, якщо ви перекочуєте все до контролю версій.
gWaldo

1
Я думаю, що мені доведеться відкинути частину Redmine, але я можу інтегрувати її в післямови. У будь-якому випадку, решта - це лише купа конфігурацій etckeeper, scp-скриптів тощо. Я спробую задокументувати це та випустити деякі сценарії, але, на жаль, не думаю, що це може бути продуктом. Хоча це може бути чудовою ідеєю продукту FOSS.

1

Для дозволів ACL та файлів ви можете спробувати PowerShell:

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

Ми купили Tripwire, щоб виконати подібну функцію, але він страждає від роздутості та ідіосинкратичного інтерфейсу користувача до такої міри, що він заржавіє від знехтування.


... Я дійсно повинен витратити якийсь час на вивчення повноважень. Дякую.

1

У Windows немає стандартного способу зберігання конфігурації програмного забезпечення, тому не може бути жодного способу обробки цих конфігурацій. Перш ніж хтось почне дметься про те, як існує якийсь "стандарт", давайте розглянемо рекомендації Microsoft поки що.

  • Спочатку нам сказали створити всі конфігурації у win.ini.
  • Далі сказали, що win.ini стає занадто великим, тому розмістіть конфігурації у .ini-файлі в каталозі Windows.
  • Ні, каталог Windows стає захаращеним. Скористайтеся каталогом додатків.
  • Подивіться, у нас є це нове центральне сховище конфігурації, яке ми будемо називати "Реєстр". Покладіть туди всі речі.
  • На жаль, реєстр стає занадто великим. Розмістіть конфігурації в профілі користувача.
  • Здогадайтесь, що, профільний не дуже добре виходить ....
  • тощо, тощо.

Програми, включаючи власні Microsoft, не мають стандартного способу чи місця для зберігання конфігурацій та використання будь-якого або всіх перерахованих вище методів, а також декілька «нестандартних». Ласкаво просимо до непослідовного та постійно мінливого світу Windows.


Так. Я знаю, наскільки повільні Unixes можуть дістатися зі своїми захаращеними / тощо. О, зачекайте ...

0

Насправді це не так, не безкоштовно. Є комерційні продукти, які можуть це зробити, я розумію, що вони великі і дорогі. Opsware (або HP Server Automation зараз) може це зробити.

Хлопець, який розробив MRTG, спробував і провалився на щось подібне близько 10 років тому. Навколишнє середовище сильно змінилося, тож ви, можливо, зможете розвинути свою роботу і придумати щось хороше. Наприклад, ви можете скинути GPO зараз, що було однією з їх проблем.

/ редагувати - і вам завжди вдалося скинути AD на LDIF або CSV. Виконайте нічний експорт в один із таких і перетрісіть його в CSV. IIS - це все у файловій системі та метабазі, яка також є у файловій системі. Звичайні резервні копії та / або копії цих файлів у CSV було б добре. Конфігурація SQL, я не дуже впевнений; Я думаю, що це все реєстр, і PS, ймовірно, має гачки для їх відображення.

Одна примітка - ви запитуєте про резервну копію ACL-файлів у файлах? Jeebus - скажіть мені, що ви створюєте резервну копію файлів, а ваше програмне забезпечення для резервного копіювання зберігає ACL. Якщо ви взагалі не створюєте резервні копії файлів, яку користь для вас надають ACL? Якщо ви не створюєте резервну копію файлів за допомогою ACL, що не так із програмним забезпеченням для резервного копіювання? Ви можете ввімкнути аудит змін ACL спочатку, можливо, ви хочете це зробити?


Я не кажу вже про резервні копії. Практично всі резервні SW зберігають ACL. Контроль редагування, однак, більшість разів навіть не зберігає дозволи. Наприклад, Mercurial зберігає лише дозвіл eXecutable на unix. Для цього вам потрібен гак, аддон або "трюк", як ACL / дозволу savinf в окремому метафайлі. Крім того, я перегляну це, але ... чи можете ви сказати, як експортувати AD, наприклад, до LDIF?


0

Я жодного не чув. Хоча Реєстр може бути домом (більшості) конфігурацій у Windows, і він (вид) може бути представлений у текстовій формі, найкраще, на що можна сподіватися, - це Конфігураційна документація, а не Управління конфігурацією . Існують API для моніторингу змін у реєстрі, про що свідчать декілька інструментів системи System Internals, які теоретично дозволяють базуватись на подіях (повернутися до старої конфігурації, наприклад). На жаль, є деякі речі (групова політика є найбільшою), які розроблені для того, щоб виконувати будь-які обмеження на зміну конфігурації на локальній машині.

Однак це просто управляє базовою операційною системою. Щойно ви починаєте додавати в інші продукти Microsoft, ситуація стає набагато складнішою. IIS має свою базу даних, метабазу, яка не знаходиться в реєстрі. MS-SQL має цілу купу конфігурацій, що зберігаються в самій базі даних серед інших місць. AD звичайно може бути представлений як плоский файл, це експорт LDIF з LDAP, але знову ж таки це не управління документацією. Самі групові політики - це дерева каталогів, заповнені файлами на контролерах домену.

Це непроста робота на будь-якому протязі. Ось чому такі системи, як Microsoft System Configuration Manager або управління конфігурацією Zenworks, Novell, настільки ж складні, як і вони. Насправді, наскільки я знаю, ці продукти є найближчими Windows до чогось подібного etckeeper.


"Метабаза" - це лише XML-файл у файловій системі - досить просто схопити цю ніч і версіювати її. Надано, це не те саме, що викликати різницю кожного разу, коли хтось вручну змінює конфігурацію, це був би зовсім інший чайник з рибою. Це залежить від того, яка деталізація потребує Асцендента.
mfinni

1
Провели деякий час на веб-сторінці Microsoft Center Configuration Manager. Це щось на кшталт «симпатична діаграма, мовна мова, модна мова, синергія, самовітання, неясні обіцянки, голосні слова». Ще не знаю точно, що це робить, але з реченнями, такими як "з'єднання людей, процесів та інструментів", шляхом оцінки залежностей та оптимізації продуктивності бізнес-процесів зсередини операційної системи, додатків та складених служб і робочих процесів як у фізичних, так і в робочих процесах. віртуальне середовище. " це здається підприємливим. Це добре?

Якщо ви маєте на увазі бюджет на це, корисно згадати це, коли ви запитуєте рекомендації щодо продуктів.
mfinni

0

Код за адресою 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 може бути надія. На даний момент у мене немає доступного для тестування, але це одна дорога підходу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.