Categorie
featured tutorial

Migrare il metabase di IIS con iiscnfg.vbs

Ci sono delle volte nella vita di un sistemista dove dopo aver allestito un nuovo Windows Server 2003, aver installato tutto il necessario compresi antivirus e backup giunge il momento di configurare IIS.

Nel caso il server sia adibito ad ospitare nuovi siti, non ci sono altre alternative che la configurazione attraverso l’interfaccia di amministrazione, ma nel caso di un migrazione da un altro server, dove magari sono presenti decine e decine di siti configurati la strada “facciamolo a mano” diventa lunga ma sopratutto la probabilità di fare qualche errore aumenta in modo direttamente proporzionale al numero di siti da configurare.

Diventa quindi lecito domandarsi come importare sulla nuova macchina la configurazione presente sul vecchio server.

Purtroppo dall’interfaccia di amministrazione le uniche operazioni che riguardano la gestione del metabase di IIS sono relative al backup ed relativo ripristino, ma fortunatamente Microsoft non ci lascia completamente a mano vuota, rendendo possibile l’operazione di esportazione e importazione tramite uno script vbs utilizzabile via shell.

Dal titolo del post, avrete capito che sto parlando di iiscnfg

Dopo aver letto un po’ di documentazione ed avendo come obbiettivo l’esportazione completa del metabase del vecchio server e la sua importazione sulla nuova macchina sono stati sufficienti 2 comandi …

Questo è il comando per l’esportazione, che ovviamente va eseguito sul server in cui c’è la configurazione da copiare.

iiscnfg /export /f nomefile /sp / /children

Vediamo insieme i parametri:

  • /f indica che l’esportazione deve avvenire su file ( nel mio caso nomefile è c:iisconfig_backup.xml )
  • /sp indica il ramo del metabase, che nel mio caso è un semplice slash che indica tutto ma potrebbe anche indicare un singolo sito
  • /children consente semplicemente di esportare in maniera ricorsiva tutte le sottochiavi

Se tutto è andato bene dovremmo ritrovaci sotto c un file xml che dobbiamo far arrivare sul nuovo server per poterlo importare.

Prima di procedere all’importazione, nel caso abbiate già modificato qualcosa suggerisco un backup, che potete effettuare o tramite l’interfaccia di amministrazione o via shell con iisback.

iisback /backup /b nomebackup

Arrivato a questo punto vediamo il comando per l’importazione che è leggermente più complicato …

iiscnfg /import /f nomefile /sp / /dp / /children /merge

In questo caso ci sono due parametri in più:

  • /dp specifica il percorso della metabase in cui vengono memorizzate le chiavi, discorso simile a quello per /sp e nel mio caso dove voglio importare tutto indico solo lo slash
  • /merge consente di combinare le chiavi nel file XML con le chiavi esistenti della metabase. Forse questo parametro nel caso di una configurazione da zero è inutile, ma nel caso abbiate già fatto modificato la configurazione di IIS questo vi permettera di importare solo le chiavi nuove

Questo funziona a patto che i percorsi rimangano gli stessi, ovvero se i siti prima erano sul disco e: dovranno essere su e: anche adesso.

Nel caso non sia possibile ricreare la stessa configurazione, suggerisco la modifica del file xml con il metabase prima dell’importazione, altrimenti vi tocca modificare a mano tramite l’interfaccia di amministrazione sito per sito.

Un ultima cosa; se durante la migrazione i due server si possono “parlare” potrebbe essere più comodo copiare direttamente la configurazione tra un server e l’altro, ma nel mio caso, essendo i due server in due posti fisicamente diversi, ed essendo sotto firewall non è stato possibile praticarlo.

Sperando di non aver dimenticato nulla, e di non aver scritto caz**te, questo è quanto …

Link di riferimento: Gestione di configurazioni di IIS tramite script

[tags]IIS, metabase, iiscnfg, iisback [/tags]

Di .:: Maurizio Pelizzone

3 risposte su “Migrare il metabase di IIS con iiscnfg.vbs”

mah…
le sintassi mostrate non funzionano (tipo quella dell’iisback) e non sono riportati comandi “reali” ma soltanto le sintassi; credo che l’autore non abbia neanche provato i comandi di cui ha banlmente parlato.

julian spina

mi spiace contraddirti ma con ho migrato un server proprio questa estate, e questo post è frutto delle prove fatte….

è possibile che abbia commesso degli errori, ma questo questo non giustifica un commento così arrogante…

cmq io la migrazione sono riuscito a farla, e per quanto mi riguarda posso solo augurarti buona fortuna…

Ciao,

ho seguito le istruzioni ed importato tutto a meraviglia. 🙂
Abituato a copiare /etc/apache2 per trasferire le configurazioni, grazie al tuo post mi sono risparmiato molti mal di testa.

pc

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.