
Cikkünkhöz mellékeltük az alábbiakban szereplő szkriptet "VirtualDir.vbs" néven. Futtatva létrehoz az első IIS webhelyen egy "Proba mappa" nevű virtuális könyvtárat és beállítja néhány tulajdonságát. A szkript használatához az első sorban szereplő változó értékét módosítani kell a futtató gép nevét beírva.
Mi az a virtuális könyvtár? A webkiszolgálón található webhelyek a merevlemez könyvtárszerkezetéhez hasonló felépítésűek. Ezen belül a virtuális könyvtárak a mappáknak felelnek meg, azzal a különbséggel, hogy mindegyik egy tényleges mappára mutat a merevlemezen. Továbbá a virtuális könyvtárak nem látszanak a webhelyen ("virtuálisak").
Hogy lehet használni őket? Tegyük fel, hogy van egy "www.munkahely.hu" website-unk és ezen belül létrehoztunk egy "igazgatosag" nevű virtuális könyvtárat, amelyen belül egy új weblap kapott helyet. Ez így érhető el: " www.munkahely.hu/igazgatosag". A módszer előnye, hogy gyakorlatilag tetszőleges számú aloldalt létrehozhatunk domainnév regisztráció nélkül.
Indítsuk el a Felügyeleti eszközök > Internet szolgáltatáskezelő (Administrative Tools > Internet Services Manager) MMC konzolt. Hozzunk létre egy új virtuális könyvtárat az "Alapértelmezett webhely" ("Default web Site"). A konzol segítségével ezt úgy tehetjük meg, hogy az egér jobb gombjával rákattintunk a létrehozási pontra és az Új > Virtuális könyvtár (New > Virtual Directory) menüre lépünk. Ekkor egy varázsló néhány lépésben bekéri az elkészítéshez szükséges legalapvetőbb adatokat és az eredményt a konzolban látjuk meg.
Ugyanez szkriptekből is lehetséges:
Készítsünk egy változót és tároljuk el benne a webkiszolgáló nevét, majd hozzunk létre egy objektumot az IIS egyik webhelyéről. A webszolgáltatás neve: W3SVC és ezen belül az első webhely száma: 1. A webhely gyökérkönyvtára a "Root" mappa. Ezen belül fogjuk létrehozni az új virtuális könyvtárat. Ha nem itt, hanem az egyik almappájában akarjuk elkészíteni, akkor a "/Root/mappa" szintaxist alkalmazzuk.
ServerName="Dorothy"
Set VirtualDir = GetObject("IIS://"+ServerName+"/W3SVC/1/Root")
Definiáljuk az objektum egy új példányát és nevezzük el a könyvtárat "Proba mappa"-nak.
Set VirtualDirObj = VirtualDir.Create("IIswebVirtualDir", "Proba mappa")
Ennyi információ már elég is a létrehozáshoz, de mi inkább menjünk tovább és állítsuk be rögtön néhány tulajdonságát. Az első és legfontosabb annak meghatározása, hogy a merevlemez mely mappájára mutat. Példánkban a "C:\temp"-et használjuk. Ennek a valóságban is léteznie kell, különben sikertelen lesz a művelet.
VirtualDirObj.Put "Path", "C:\temp"
Csak olvasási joggal engedélyezzük a hozzáférést. Ehhez az " AccessRead" tulajdonságot "True"-ra kell állítani.
VirtualDirObj.Put "AccessRead", True
Tegyük fel, hogy az új virtuális könyvtáron belül alkalmazást is akarunk futtatni. Ezt is engedélyezni kell és meg kell határozni a nevét (példánkban "Alkalmazas").
VirtualDirObj.AppCreate2 1
VirtualDirObj.Put "AppFriendlyName", "Alkalmazas"
Végül az eddig beállított tulajdonságokat juttassuk is érvényre az IIS objektum "SetInfo" metódusával.
A szkript "csendesen", képernyő kimenet nélkül fut, ha minden rendben van. Ellenőrizzük a felügyeleti konzolban, hogy valóban létrejött egy új virtuális könyvtár a megadott tulajdonságokkal, de először ne felejtsük el frissíteni az F5 billentyűvel.