Esiste un equivalente etckeeper per Windows? Controllo di revisione della configurazione di Windows AKA


13

Voglio creare un repository di file di configurazione centrale in modo da poter avere le modifiche a qualsiasi configurazione sotto controllo di revisione (Mercurial). Ciò includerà alcuni box GNU / Linux (che useranno etckeeper), i file di configurazione delle apparecchiature di rete, i file di configurazione della stampante e, ultimo ma non meno importante, le configurazioni di Windows.

So che puoi importare alcune configurazioni come ISA e DHCP come file di testo / xml e persino cartelle condivise come chiave di registro, ma per cose come GPO e AD, IIS, MSSql e altri, ci sono modi per ottenere le configurazioni come file flat? Fondamentalmente, puoi avere qualcosa in qualche modo equivalente a etckeeper sotto Windows? Qualcosa come alcuni comandi basati su PowerShell o simili?

Inoltre, è possibile conservare ACL e altri permessi sui file sotto il controllo della versione (hg)?

A proposito, ho già letto

inutilmente.

Risposte:


4

Trattenili!

Questo è uno script fornito da Michael J Ginter che crea un backup di tutti gli ambiti DHCP su un server. (Si noti che arresterà e riavvierà il servizio server DHCP.):

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

È possibile utilizzare LDIFDE per importare ed esportare dati da AD: http://support.microsoft.com/kb/237677

Gli oggetti Criteri di gruppo possono essere esportati con ADMX.exe (fornito da microsoft all'indirizzo http://www.microsoft.com/resources/documentation/WindowsServ/2003/all/techref/en-us/Default.asp?url=/resources/documentation/ windowsServ / 2003 / all / techref / it-IT / w2k3tr_gp_tools.asp

La configurazione IIS può essere esportata tramite iiscnfg.vbs in% systemroot% \ system32 http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/81f04967-f02f-4845-9795-bad2fe1a1687.mspx?mfr=true


Sei il benvenuto! Sfortunatamente non esiste una soluzione all-in-one gratuita per ciò che desideri, ma in combinazione con un CMS, archiviazione ridondante in modo sicuro e / o versioni del software (come Mercurial, Git o Subversion), puoi creare il tuo. E tutto ciò dovrebbe essere programmabile!
gWaldo,

L'idea iniziale era Redmine / trac con hg (beh, se avessi usato Redmine, probabilmente avrei scelto Git, una migliore integrazione), etckeeper su macchine linux, script ssh per ottenere running_config da switch e router, e voodoo insieme a script win per config dump (forse con "hooks" di modifica del file OSSEC) sulle macchine win, tutto andando al repository HG ... probabilmente è, Windows non ha nulla vicino a ecc, quindi questo. Inoltre, tutto è stato scaricato su un SAN / NAS. Hai mai impostato qualcosa di simile a quello che hai descritto? Puoi darmi qualche suggerimento?

È una buona idea, ma non ho fatto nulla del genere. Se riesci a raggrupparlo sufficientemente, consiglierei di produrlo e / o realizzare un progetto F / OSS. Normalmente suggerirei di incorporare la data / il timestamp nel nome del file, tuttavia questo non importa tanto se si sta arrotolando tutto nel Controllo versione.
gWaldo,

1
Penso che dovrò abbandonare la parte Redmine, ma posso integrarla dopo le parole. In ogni caso, il resto è solo un mucchio di configurazioni etckeeper, script scp e simili. Proverò a documentarlo e a rilasciare alcuni script, ma non penso che possa essere un prodotto, sfortunatamente. Potrebbe essere un'ottima idea di prodotto FOSS, però.

1

Per ACL e autorizzazioni per i file, potresti provare PowerShell:

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

Abbiamo acquistato Tripwire per svolgere una funzione simile, ma soffre di un'interfaccia utente stravagante e idiosincratica al punto che si arrugginisce per abbandono.


... dovrei davvero passare un po 'di tempo ad imparare PowerShell. Grazie.

1

Su Windows non esiste un modo standard per il software di memorizzare una configurazione, quindi non può esserci un metodo per gestire tali configurazioni. Prima che qualcuno inizi a lamentarsi di come esiste una sorta di "standard", diamo un'occhiata ai consigli di Microsoft finora.

  • Innanzitutto ci è stato detto di creare tutte le configurazioni in win.ini.
  • Successivamente è stato detto che win.ini sta diventando troppo grande, quindi posizionare le configurazioni in un file .ini nella directory di Windows.
  • No, la directory di Windows si sta ingombrando. Usa la directory dell'applicazione.
  • Guarda, abbiamo questo nuovo repository di configurazione centrale che chiameremo "The Registry". Metti tutte le tue cose lì dentro.
  • Spiacenti, il registro sta diventando troppo grande. Inserisci le configurazioni nel profilo utente.
  • Indovina un po ', il profilo di cosa non funziona molto bene ...
  • ecc. ecc.

Le applicazioni, inclusa quella di Microsoft, non hanno un modo o una posizione standard per l'archiviazione delle configurazioni e utilizzano uno o tutti i metodi sopra elencati, nonché alcuni "non standard". Benvenuti nel mondo incoerente e in costante evoluzione di Windows.


Sì. So quanto possono rallentare gli Unix con il loro disordine / ecc. Oh, aspetta ...

0

Non c'è davvero, non gratuitamente comunque. Ci sono prodotti commerciali che possono farlo, capisco che sono grandi e costosi. Opsware (o HP Server Automation ora) può farlo.

Il ragazzo che ha sviluppato MRTG ha provato e fallito qualcosa di simile circa 10 anni fa. L'ambiente è cambiato molto, quindi potresti essere in grado di sfruttare il loro lavoro e trovare qualcosa di buono. Ad esempio, è possibile scaricare oggetti Criteri di gruppo ora, che era uno dei loro problemi.

/ modifica - e sei sempre stato in grado di scaricare AD in LDIF o CSV. Esegui un'esportazione notturna in uno di questi e bevilo in CSV. IIS è tutto nel filesystem e nella metabase, che è anche nel filesystem. I normali backup e / o copie di quelli in CSV sarebbero buoni. Configurazione SQL, non ne sono così sicuro; Penso che sia tutto il registro e PS probabilmente ha degli hook per visualizzarli.

Una nota: chiedi di eseguire il backup degli ACL sui file? Jeebus: per favore dimmi che stai eseguendo il backup dei file e il tuo software di backup conserva gli ACL. Se non esegui il backup dei file, quali sono i vantaggi per gli ACL? Se non si esegue il backup dei file con ACL, cosa c'è di sbagliato nel software di backup? Puoi attivare il controllo per le modifiche ACL in modo nativo, forse vuoi farlo?


Non sto citando backup di per sé. Quasi tutti i backup sw preservano gli ACL. Il controllo delle revisioni, tuttavia, il più delle volte non conserva nemmeno le autorizzazioni. Mercurial, ad esempio, salva solo l'autorizzazione eXecutable su unix. Per questo è necessario un hook, un componente aggiuntivo o un "trucco" come le ACL / autorizzazioni di Savinf in un metafile separato. Inoltre, lo cercherò ma ... mi puoi dire come esportare AD in LDIF, per esempio?


0

Non ne ho sentito parlare. Mentre il Registro di sistema può essere la sede della (maggior parte) configurazione su Windows e (tipo di) può essere rappresentato in forma di testo, il meglio che puoi sperare è nella Documentazione di configurazione piuttosto che nella Gestione della configurazione . Esistono API per monitorare le modifiche al registro, come evidenziato da numerosi strumenti di System Internals, che in teoria consentirebbero azioni basate sugli eventi (ad esempio il ripristino della vecchia configurazione). Sfortunatamente, ci sono alcune cose (la politica di gruppo è la più grande) che sono progettate per superare qualsiasi restrizione basata sulla macchina locale sulla modifica della configurazione.

Tuttavia, questo gestisce solo il sistema operativo di base. Quando inizi ad aggiungere altri prodotti Microsoft, la situazione diventa molto più complessa. IIS ha un proprio database, la metabase, che non si trova nel registro. MS-SQL ha un sacco di configurazioni memorizzate nel database stesso tra gli altri posti. L'AD sicuramente può essere rappresentato come un file flat, è un'esportazione LDIF da LDAP, ma ancora una volta questa è documentazione non gestione. I criteri di gruppo stessi sono alberi di directory pieni di file sui controller di dominio.

Non è un lavoro facile da nessuna parte. Ecco perché sistemi come System Center Configuration Manager di Microsoft o Zenworks Configuration Management di Novell sono tanto complessi quanto lo sono. In effetti, per quanto ne so questi prodotti sono i più vicini a Windows arriva a qualcosa come etckeeper.


La "metabase" è solo un file XML sul filesystem - abbastanza semplice da afferrare quella notte e versione. Ora scontato, non è lo stesso che innescare un diff ogni volta che qualcuno cambia manualmente le configurazioni, sarebbe un altro intero bollitore di pesce. Dipende da quanta granularità ha bisogno l'Ascendente.
mfinni,

1
Trascorso del tempo sulla pagina Web di System Center Configuration Manager di Microsoft. È qualcosa come "bel diagramma, parola d'ordine, parola d'ordine, sinergia, congratulazioni, vaghe promesse, parole d'ordine". Ancora non so esattamente cosa faccia, ma con frasi come "connettere persone, processi e strumenti — valutando le dipendenze e ottimizzando le prestazioni dei processi di business dal profondo del sistema operativo, delle applicazioni e dei servizi e flussi di lavoro compositi sia fisici che ambienti virtuali ". sembra essere intraprendente. Va bene?

Se hai in mente un budget per questo, è utile menzionarlo quando chiedi consigli sul prodotto.
mfinni,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.