Czy istnieje odpowiednik etckeepera dla systemu Windows? Kontrola wersji systemu Windows AKA

13

Chcę utworzyć centralne repozytorium plików konfiguracyjnych, aby móc wprowadzać zmiany do dowolnej konfiguracji pod kontrolą wersji (Mercurial). Będzie to obejmowało niektóre urządzenia GNU / Linux (które będą korzystać z etckeeper), pliki konfiguracyjne urządzeń sieciowych, pliki konfiguracyjne drukarki i ostatnie konfiguracje systemu Windows.

Wiem, że możesz zaimportować niektóre konfiguracje, takie jak ISA i DHCP jako pliki tekstowe / xml, a nawet foldery współdzielone jako klucz rejestru, ale w przypadku rzeczy takich jak GPO i AD, IIS, MSSql i inne, czy są sposoby na uzyskanie konfiguracji jako plików płaskich? Zasadniczo, czy możesz mieć coś podobnego do etckeepera pod oknami? Coś w stylu niektórych poleceń opartych na PowerShell lub podobnych?

Czy listy kontroli dostępu i inne uprawnienia do plików można zachować pod kontrolą wersji (hg)?

BTW, już przeczytałem

bezskutecznie.

Społeczność
źródło

Odpowiedzi:

4

Zatrzymaj je!

Jest to skrypt dostarczony przez Michaela J Gintera, który tworzy kopię zapasową wszystkich zakresów DHCP na serwerze. (Pamiętaj, że zatrzyma i uruchomi ponownie usługę serwera DHCP.):

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

Za pomocą LDIFDE można importować i eksportować dane z AD: http://support.microsoft.com/kb/237677

Obiekty zasad grupy można eksportować za pomocą narzędzia ADMX.exe (dostarczonego przez Microsoft pod adresem 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

Konfiguracja IIS może być eksportowana przez iiscnfg.vbs w% systemroot% \ system32 http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/81f04967-f02f-4845-9795-bad2fe1a1687.mspx?mfr=true

gWaldo
źródło
Jesteś bardzo mile widziany! Niestety nie ma darmowego kompleksowego rozwiązania dla tego, czego chcesz, ale w połączeniu z CMS, bezpiecznie redundantną pamięcią i / lub wersjonowaniem oprogramowania (takim jak Mercurial, Git lub Subversion), możesz wprowadzić własne. A wszystko to powinno być skryptowalne!
gWaldo
Początkowym pomysłem było Redmine / trac z hg (cóż, gdybym użył redmine, prawdopodobnie poszedłbym z Gitem, lepsza integracja), etckeeper na maszynach linuxowych, skrypt ssh do pobierania running_config z przełączników i routerów oraz voodoo wraz ze skryptami win do zrzuć konfiguracje (być może z „haczykami” modyfikacji pliku OSSEC) na komputerach z winem, wszystko idzie do repozytorium HG ... problem polega na tym, że Windows nie ma nic zbliżonego itp., stąd to. Ponadto wszystkie zrzucone na SAN / NAS. Czy kiedykolwiek skonfigurowałeś coś podobnego do tego, co opisałeś? Czy możesz podać mi wskazówki?
To niezły pomysł, ale nic takiego nie zrobiłem. Jeśli potrafisz go odpowiednio spakować, zaleciłbym jego produkcję i / lub wdrożenie projektu F / OSS. Zwykle zalecałbym umieszczenie daty / znacznika czasu w nazwie pliku, jednak nie ma to większego znaczenia, jeśli wprowadzasz wszystko do kontroli wersji.
gWaldo
1
Myślę, że będę musiał upuścić część Redmine, ale mogę zintegrować ją posłowie. W każdym razie reszta to tylko konfiguracja etckeeper, skrypty scp i tym podobne. Spróbuję to udokumentować i wydać kilka skryptów, ale nie sądzę, że może to być produkt, niestety. Może to być świetny pomysł na produkt FOSS.
1

W przypadku list ACL i uprawnień do plików możesz wypróbować PowerShell:

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

Kupiliśmy Tripwire, aby wykonać podobną funkcję, ale cierpi z powodu wzdęć i idiosynkratycznego interfejsu użytkownika do tego stopnia, że ​​rdzewieje z powodu zaniedbania.

AndyN
źródło
... Naprawdę powinienem poświęcić trochę czasu na naukę PowerShell. Dzięki.
1

W systemie Windows nie ma standardowego sposobu na przechowywanie konfiguracji przez oprogramowanie, dlatego nie może istnieć jedna metoda obsługi tych konfiguracji. Zanim ktokolwiek zacznie narzekać, że istnieje jakiś „standard”, spójrzmy na dotychczasowe rekomendacje Microsoft.

  • Najpierw powiedziano nam, aby utworzyć wszystkie konfiguracje w win.ini.
  • Następnie powiedziano nam, że win.ini robi się zbyt duży, więc umieść konfiguracje w pliku .ini w katalogu Windows.
  • Nie, katalog Windows jest zagracony. Skorzystaj z katalogu aplikacji.
  • Spójrz, mamy to nowe centralne repozytorium konfiguracji, które nazwiemy „The Registry”. Umieść tam wszystkie swoje rzeczy.
  • Ups, rejestr staje się zbyt duży. Umieść konfiguracje w profilu użytkownika.
  • Zgadnij co, profil nie działa zbyt dobrze ....
  • itd itd.

Aplikacje, w tym własne Microsoftu, nie mają standardowego sposobu ani lokalizacji do przechowywania konfiguracji i używają jednej lub wszystkich powyższych metod, a także kilku „niestandardowych”. Witamy w niespójnym i ciągle zmieniającym się świecie Windows.

John Gardeniers
źródło
Tak. Wiem, jak wolno Unixy mogą się dostać ze swoim zagraconym / etc. Och, czekaj ...
0

Tak naprawdę nie ma, nie za darmo. Istnieją komercyjne produkty, które mogą to zrobić, rozumiem, że są duże i drogie. Opsware (lub teraz HP Server Automation) może to zrobić.

Facet, który opracował MRTG, próbował czegoś podobnego około 10 lat temu. Środowisko bardzo się zmieniło, więc możesz bazować na ich pracy i wymyślić coś dobrego. Na przykład możesz teraz zrzucić GPO, co było jednym z ich problemów.

/ edit - i zawsze byłeś w stanie zrzucić AD do LDIF lub CSV. Dokonaj nocnego eksportu do jednego z nich i podziel go na CSV. IIS znajduje się w systemie plików i metabazie, która również znajduje się w systemie plików. Normalne kopie zapasowe i / lub kopie tych plików w CSV byłyby dobre. Konfiguracja SQL, nie jestem tego taki pewien; Myślę, że to wszystko rejestr, a PS prawdopodobnie ma haczyki do ich wyświetlenia.

Jedna uwaga - pytasz o tworzenie kopii zapasowych list ACL dla plików? Jeebus - powiedz mi, że tworzysz kopie zapasowe plików, a twoje oprogramowanie do tworzenia kopii zapasowych zachowuje listy ACL. Jeśli w ogóle nie tworzysz kopii zapasowej plików, jakie są dla Ciebie korzyści z list ACL? Jeśli nie tworzysz kopii zapasowej plików przy użyciu list ACL, co jest nie tak z oprogramowaniem do tworzenia kopii zapasowych? Możesz włączyć kontrolę zmian ACL natywnie, może chcesz to zrobić?

mfinni
źródło
Nie wspominam o kopiach zapasowych jako takich. Prawie wszystkie kopie zapasowe sw zachowują listy ACL. Kontrola wersji przez większość czasu jednak nie zachowuje uprawnień. Na przykład Mercurial zapisuje tylko eXecutable uprawnienie dla unixa. Potrzebny jest do tego haczyk, dodatek lub „sztuczka”, np. Savinf ACL / permissions w osobnym metapliku. Sprawdzę to, ale ... czy możesz mi powiedzieć na przykład, jak wyeksportować AD do LDIF?
0

Nie słyszałem o jednym. Chociaż rejestr może być domem (większości) konfiguracji w systemie Windows i może on (w pewnym sensie) być reprezentowany w formie tekstowej, najlepszą rzeczą, na jaką możesz liczyć, jest dokumentacja konfiguracji zamiast zarządzania konfiguracją . Istnieją interfejsy API do monitorowania zmian w rejestrze, o czym świadczy kilka narzędzi systemu wewnętrznego, które teoretycznie umożliwiają działania oparte na zdarzeniach (na przykład przywrócenie starej konfiguracji). Niestety, są pewne rzeczy (największe są Zasady grupy), które zostały zaprojektowane, aby ominąć wszelkie ograniczenia dotyczące zmiany konfiguracji w oparciu o maszynę lokalną.

Jednak to po prostu zarządza podstawowym systemem operacyjnym. Po rozpoczęciu dodawania innych produktów Microsoft sytuacja staje się znacznie bardziej złożona. IIS ma własną bazę danych, metabazę, której nie ma w rejestrze. MS-SQL ma całą masę konfiguracji przechowywaną w samej bazie danych między innymi. AD z pewnością może być reprezentowane jako plik płaski, jest to eksport LDIF z LDAP, ale znowu to dokumentacja nie zarządzanie. Same zasady grupy to drzewa katalogów wypełnione plikami na kontrolerach domeny.

Pod żadnym względem nie jest to łatwa praca. Właśnie dlatego systemy takie jak System Center Configuration Manager firmy Microsoft lub Novell Zenworks Configuration Management są tak złożone, jak są. W rzeczywistości, o ile wiem, te produkty są najbliżej Windows dostaje coś w rodzaju etckeeper.

sysadmin1138
źródło
„Metabaza” to po prostu plik XML w systemie plików - bardzo łatwo go pobrać i zaktualizować. Przyznaję, że to nie to samo, co wyzwalanie różnicy za każdym razem, gdy ktoś ręcznie zmienia konfiguracje, byłby to zupełnie inny czajnik ryb. To zależy od tego, ile szczegółowości potrzebuje Ascendant.
mfinni
1
Spędziłem trochę czasu na stronie Microsoft System Center Configuration Manager. Jest to coś w rodzaju „ładny diagram, modne powiedzonka, modne powiedzonko, synergia, gratulacje, niejasne obietnice, modne słowa”. Nadal nie wiem dokładnie, co robi, ale za pomocą zdań takich jak „łączenie ludzi, procesów i narzędzi - poprzez ocenę zależności i optymalizację wydajności procesów biznesowych z poziomu systemu operacyjnego, aplikacji oraz złożonych usług i przepływów pracy zarówno fizycznych, jak i środowiska wirtualne ”. wydaje się być przedsiębiorczy. Czy to jest dobre?
Jeśli masz na to budżet, warto wspomnieć o tym, gdy pytasz o rekomendacje produktów.
mfinni,