Windows - IIS konfigurációjának mentése szkriptből

forráskód letöltése
Az Internet Information Services (IIS) szolgáltatás konfigurációs beállításai, beleértve a web, ftp helyek beállításait és az egyéb szolgáltatásokat, teljes egészében elmenthető a merevlemezre a grafikus felületről. A gyakori mentések azonban minden alkalommal több egérkattintást igényelnek a felügyeleti konzolon, sokkal gyorsabb, ha egy szkript segítségével automatizáljuk a folyamatot.
Mellékelten megtalálható az alábbi szkript "Backup.vbs" néven. Futtatásával egy új biztonsági mentést készítünk az IIS metaadatbázisáról a helyi gépen. Végrehajtásához rendszergazdai jogosultság szükséges.
Mentés a felügyeleti konzol segítségével
Nyissuk meg az "Internet szolgáltatáskezelő" ("Internet Services Manager") felügyeleti konzolt, kattintsunk az egér jobboldali gombjával a számítógép objektumra, majd a "Konfiguráció biztonsági mentése/visszaállítása" ("Backup/Restore Configuration") menüre. A megjelenő ablak listájában láthatók az eddigi mentések, minden bejegyzéshez tartozik egy sorszám (#), dátum, idő és egy név. A "Biztonsági másolat létrehozása" ("Create backup") gombbal lehet létrehozni egy újabb mentést.
Helyileg a %systemroot%\system32\inetsrv\MetaBack mappában található "mentésneve.MDx" fájlok tartalmazzák a másolatokat ("mentésneve" helyett az általunk megadott név szerepel).
Fontos tudni, hogy az IIS beállításainak nagy része saját meta-adatbázisában tárolódik, kisebbik pedig a Windows regisztrációs adatbázisában. Ez utóbbiak nem mentődnek el és így visszaállítani sem lehet őket.
Mentés VBScript-ből
Szkriptből sem bonyolult elkészíteni a fenti biztonsági mentést:
Követeljük meg az alább használt változók deklarálását.
Option Explicit
Az egész IIS metaadatbázis elmentése mindössze egyetlen metódus paraméterezett meghívásával történik. A paramétereket konstansok formájában kell megadni, mindegyik valamilyen módon meghatározza, befolyásolja a mentés menetét.
Az alábbiakban verziószámon a mentés sorszámát értjük (#).
Mindenképpen hajtódjon végre a mentés, még akkor is, ha a "MD_BACKUP_SAVE_FIRST" funkció sikertelenül ért véget (lásd lent).
Const MD_BACKUP_FORCE_BACKUP = 4
Szükség szerint a legmagasabb verziószámú meglévő mentés íródik felül.
Const MD_BACKUP_HIGHEST_VERSION = &HFFFFFFFE
Az elérhető maximális verziószám: 9999. Ezután következik a meglévő állományok felülírása.
Const MD_BACKUP_MAX_VERSION = 9999
A mentés alapértelmezett helyét megadó sztring maximálisan 100 karakter hosszú lehet.
Const MD_BACKUP_MAX_LEN = 100
Egyesével növekszenek a verziószámok.
Const MD_BACKUP_NEXT_VERSION = &HFFFFFFFF
Engedélyezett a felülírás.
Const MD_BACKUP_OVERWRITE = 1
Futtatja a "SaveData" metódust a mentés megkezdése előtt.
Const MD_BACKUP_SAVE_FIRST = 2
Deklaráljuk az alább használt változókat.
Dim objComp, Computername
A mentés a helyi gépen történik, távoli gépnév megadása esetén azon is elégséges jogosultsággal kell rendelkezni a művelet végrehajtásához, ami rendszergazdai jogosultságokat jelent.
Computername = "LocalHost"
Kapcsolatot teremtünk az IIS szolgáltatással a "Computername" változóban megadott géppel.
Set objComp = GetObject("IIS://" & Computername) 
Futtatjuk a "Backup" metódust, átadva a fenti konstansokból kettőt.
 objComp.Backup "", MD_BACKUP_NEXT_VERSION, MD_BACKUP_SAVE_FIRST
Végül tájékoztatásul megjelenítünk a képernyőn egy üzenetet a folyamat befejezéséről.
wscript.echo "A biztonsági mentés elkészült."
Futtassuk a szkriptet a feladatütemező segítségével és automatikusan készíttethetünk biztonsági mentést tetszőleges időpontokban a felügyeleti konzol használata nélkül.
A mentett fájlok "MDBackUp.MDx" néven jönnek létre (x helyén egy sorszám szerepel).