Windows için bir etckeeper eşdeğeri var mı? AKA Windows yapılandırma revizyon kontrolü


13

Revizyon kontrolü (Mercurial) altında herhangi bir yapılandırmada değişiklik yapabilmek için merkezi bir yapılandırma dosyası deposu yapmak istiyorum. Bu, bazı GNU / Linux kutularını (etckeeper kullanacak), ağ ekipmanının yapılandırma dosyalarını, yazıcının yapılandırma dosyalarını ve son fakat en az değil, Windows yapılandırmalarını içerecektir.

ISA'lar ve DHCP'ler gibi bazı yapılandırmaları metin / xml dosyaları ve hatta paylaşılan klasörler olarak bir kayıt defteri anahtarı olarak içe aktarabileceğinizi biliyorum, ancak GPO'lar ve AD, IIS, MSSql ve diğerleri gibi şeyler için, yapılandırmaları düz dosyalar olarak almanın yolları var mı? Temel olarak, pencerelerin altındaki etckeeper'a eşdeğer bir şey olabilir mi? Bazı powershell tabanlı komutlar veya benzeri bir şey?

Ayrıca, ACL'ler ve diğer dosya izinleri sürüm kontrolü (hg) altında korunabilir mi?

BTW, zaten okudum

boşuna.

Yanıtlar:


4

Onları paketleyin!

Bu, sunucudaki tüm DHCP kapsamlarının bir yedeğini oluşturan Michael J Ginter tarafından sağlanan bir komut dosyasıdır. (Durup DHCP Sunucu Hizmetini yeniden başlatacağını unutmayın.):

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

AD'den veri almak ve vermek için LDIFDE kullanabilirsiniz: http://support.microsoft.com/kb/237677

GPO'lar ADMX.exe ile dışa aktarılabilir (microsoft tarafından http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/techref/en-us/Default.asp?url=/resources/documentation/ adresinden sağlanabilir. windowsServ / 2003 / all / techref / en-us / w2k3tr_gp_tools.asp

IIS Config,% systemroot% \ system32 içindeki iiscnfg.vbs aracılığıyla verilebilir http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/81f04967-f02f-4845-9795-bad2fe1a1687.mspx?mfr=true


Hiç önemli değil! Ne yazık ki, istediğiniz şey için ücretsiz hepsi bir arada çözüm yoktur, ancak bir CMS, güvenli yedek depolama ve / veya yazılım sürümü (Mercurial, Git veya Subversion gibi) ile birleştirerek kendi çözümünüzü oluşturabilirsiniz. Ve tüm bunlar yazılabilir olmalı!
gWaldo

İlk fikir, Redg / trac ile hg (iyi, redmine kullansaydım, muhtemelen Git, daha iyi entegrasyon), linux makinelerde etckeeper, switch'lerden ve yönlendiricilerden running_config almak için ssh komut dosyası ve win komut dosyalarıyla birlikte voodoo'ydu. dökümü yapılandırmalar (belki OSSEC dosya modifikasyonu "kanca" ile), tüm HG repo ... prob gidiyor, windows vb yakın bir şey yok, bu nedenle bu. Ayrıca, hepsi bir SAN / NAS'a atıldı. Hiç tarif ettiğin gibi bir şey kurdun mu? Bana bazı işaretçiler verebilir misin?

Bu iyi bir fikir cehennemi, ama ben böyle bir şey yapmadım. Eğer yeterince paketleyebiliyorsanız, ürünü üretmenizi ve / veya bir F / OSS projesini yuvarlamanızı tavsiye ederim. Normalde tarih / zaman damgasını dosya adına dahil etmeyi savunurdum, ancak her şeyi Sürüm Kontrolüne aktarıyorsanız bu kadar önemli değil.
gWaldo

1
Sanırım Redmine bölümünü düşürmem gerekecek, ama sonradan kelimeleri bütünleştirebilirim. Her durumda, geri kalan sadece bir grup etckeeper yapılandırması, scp komut dosyaları ve benzeridir. Belgeyi belgelemeye ve bazı senaryolar yayınlamaya çalışacağım, ancak maalesef bunun bir ürün olabileceğini düşünmüyorum. Yine de harika bir FOSS ürün fikri olabilir.

1

ACL'ler ve dosya izinleri için PowerShell'i deneyebilirsiniz:

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

Benzer bir işlevi yerine getirmek için Tripwire satın aldık, ancak özellik bloat ve kendine özgü UI'den ihmalden paslandığı noktaya kadar acı çekiyor.


... gerçekten powershell öğrenmek için biraz zaman harcamalıyım. Teşekkürler.

1

Windows'da yazılımın bir yapılandırmayı depolaması için standart bir yol yoktur, bu nedenle bu yapılandırmaları işlemek için tek bir yöntem olamaz. Birisi nasıl bir tür "standart" olduğu hakkında konuşmaya başlamadan önce, şu ana kadar Microsoft önerilerine bakalım.

  • Önce win.ini dosyasındaki tüm yapılandırmaları oluşturmamız söylendi.
  • Daha sonra win.ini'nin çok büyüdüğü söylendi, bu yüzden yapılandırmaları Windows dizinindeki bir .ini dosyasına yerleştirin.
  • Hayır, Windows dizini darmadağın oluyor. Uygulama dizinini kullanın.
  • Bakın, "Kayıt Defteri" adını vereceğimiz bu yeni merkezi konfigürasyon birikimine sahibiz. Tüm eşyalarını oraya koy.
  • Hata! Kayıt defteri çok büyüyor. Yapılandırmaları kullanıcı profiline yerleştirin.
  • Bil bakalım ne, profil şey çok iyi çalışmıyor ....
  • vs vs.

Microsoft'un da dahil olduğu uygulamalar, yapılandırmaların depolanması için standart bir yol veya konuma sahip değildir ve yukarıdaki yöntemlerin herhangi birini veya tümünü ve ayrıca birkaç "standart dışı" olanı kullanmazlar. Windows'un tutarsız ve sürekli değişen dünyasına hoş geldiniz.


Evet. Unix'lerin dağınık / vb. İle ne kadar yavaş olabileceğini biliyorum. Oh, bekleyin ...

0

Gerçekten yok, zaten ücretsiz değil. Bunu yapabilen ticari ürünler var, büyük ve pahalı olduklarını anlıyorum. Opsware (veya şimdi HP Server Automation) bunu yapabilir.

MRTG'yi geliştiren adam yaklaşık 10 yıl önce benzer bir şey denedi ve başarısız oldu . Çevre çok değişti, bu yüzden onların çalışmalarını geliştirebilir ve iyi bir şey bulabilirsin. Örneğin, sorunlarından biri olan GPO'ları şimdi dökebilirsiniz.

/ edit - ve AD'yi her zaman LDIF veya CSV'ye dökebildiniz. Bunlardan birine her gece ihracat yapın ve CSV'ye aktarın. IIS'nin tümü dosya sisteminde ve dosya sisteminde de olan metatabanındadır. Normal yedeklemeler ve / veya bunların CSV'ye kopyaları iyi olur. SQL config, o kadar emin değilim; Bence tüm kayıt ve PS muhtemelen bunları görüntülemek için kanca vardır.

Bir not - dosyalarda ACL'leri yedeklemek mi istiyorsunuz? Jeebus - lütfen dosyaları yedeklediğinizi ve yedekleme yazılımınızın ACL'leri koruduğunu söyleyin. Dosyaları hiç yedeklemiyorsanız, EKL'lerin size faydaları nelerdir? Dosyaları ACL'lerle yedeklemiyorsanız, yedekleme yazılımınızdaki sorun nedir? EKL değişiklikleri için denetimi yerel olarak açabilirsiniz, belki bunu yapmak istersiniz?


Ben kendi başına yedeklerden bahsetmiyorum. Hemen hemen tüm yedekleme yazılımları ACL'leri korur. Bununla birlikte, revizyon kontrolü çoğu zaman izinleri bile korumaz. Örneğin Mercurial, yalnızca unix için eXecutable iznini kaydeder. Bunun için bir kancaya, bir addon'a veya ayrı bir meta dosyasında koruyucu ACL'ler / izinler gibi bir "hile" gerekir. Ayrıca, bakacağım ama ... örneğin AD'yi LDIF'ye nasıl aktaracağımı söyleyebilir misiniz?

DÜZENLEME: Görünüşe göre, ldifde ile - technet.microsoft.com/en-us/library/bb727091.aspx

0

Birini duymadım. Kayıt Defteri, Windows'ta (çoğu) yapılandırmanın ana sayfası olabilir ve (bir çeşit) metin biçiminde gösterilebilirken, umabileceğiniz en iyi şey Yapılandırma Yönetimi yerine Yapılandırma Belgeleri'dir . Teoride, olay tabanlı eylemlere izin veren (örneğin eski yapılandırmaya geri dönme) çeşitli Sistem Dahili araçları tarafından kanıtlandığı gibi, kayıt defterinde yapılan değişiklikleri izlemek için API'ler vardır. Ne yazık ki, config-change yerel makine tabanlı kısıtlamaların ötesine geçmek için tasarlanmış bazı şeyler (Grup İlkesi en büyük olanı) vardır.

Ancak, bu sadece temel işletim sistemini yönetir. Diğer Microsoft ürünlerini eklemeye başladığınızda durum çok daha karmaşık hale gelir. IIS'nin kayıt defterinde olmayan kendi veritabanı (metatabanı) vardır. MS-SQL başka yerlerde arasında veritabanında saklanan bir sürü yapılandırma vardır. AD kesinlikle düz bir dosya olarak temsil edilebilir, LDAP'den bir LDIF dışa aktarımıdır, ancak yine de dokümantasyon yönetim değildir. Grup İlkeleri, Etki Alanı Denetleyicilerindeki dosyalarla dolu dizin ağaçlarıdır.

Herhangi bir esneme ile kolay bir iş değildir. Bu nedenle Microsoft'un System Center Configuration Manager veya Novell'in Zenworks Configuration Management gibi sistemleri oldukları kadar karmaşıktır. Aslında, bildiğim kadarıyla bu ürünler en yakın Windows etckeeper gibi bir şey alır.


"Metatabanı" sadece dosya sistemindeki bir XML dosyasıdır - o gece kapmak ve versiyonunu almak oldukça basittir. Şimdi, bu, birisi yapılandırmaları el ile her değiştirdiğinde bir farkı tetiklemekle aynı şey değil, bu da başka bir balık su ısıtıcısı olacaktır. Ascendant'ın ne kadar ayrıntıya ihtiyacı olduğuna bağlıdır.
mfinni

1
Microsoft'un System Center Configuration Manager'ın web sayfasında biraz zaman geçirdim. "Güzel diyagram, hızlı kelime, hızlı kelime, sinerji, kendini tebrik ederim, belirsiz sözler, hızlı kelimeler" gibi bir şey. Hala ne yaptığını tam olarak bilmiyorum, ancak bağımlılıkları değerlendirerek ve iş süreci performansını işletim sisteminin, uygulamaların ve kompozit hizmetlerin ve iş akışlarının hem fiziksel hem de iş akışlarından optimize ederek "insanları, süreçleri ve araçları birbirine bağlama" sanal ortamlar. " girişimci gibi görünüyor. İyi mi?

Bunun için bir bütçeniz varsa, ürün önerileri istediğinizde belirtmeniz yararlı olacaktır.
mfinni

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.