Webkiszolgálók üzemeltetésénél különösen fontos szempont a rendszergazdai feladatok automatizálhatósága, azaz a programozhatóság, melynek legegyszerűbb változata a parancssori szkriptelés. Az Internet Information Services 7 erre a problémára több megoldást is nyújt: programozottan WMI interfészen, a .NET-es Microsoft.Web.Administration névtéren vagy COM objektumokon keresztül kezelhetjük a kiszolgálót, parancssorból pedig PowerShellből vagy az AppCmd segédprogram segítségével.
Az AppCmd az IIS 7 parancssori felügyeleti eszköze, melyet alapértelmezés szerint megtalálunk a kiszolgálón. Az AppCmd az alábbi szintakszist használja:
appcmd.exe <verb> <object> [identifier] [/parameter:value]
A támogatott objektumok és műveletek a következők:
| Object |
Verb |
| Site |
List, Set, Add, Delete, Start, Stop |
| App |
List, Set, Add, Delete |
| Vdir |
List, Set, Add, Delete |
| AppPool |
List, Set, Add, Delete, Start, Stop, Recycle |
| Config |
List, Set, Search, Lock, Unlock, Clear, Reset, Migrate |
| Wp |
List |
| Request |
List |
| Module |
List, Set, Add, Delete, Install, Uninstall |
| Backup |
List, Add, Delete, Restore |
| Trace |
List, Configure, Inspect |
Az AppCmd lekérdezések eredménye lekérhető XML formátumban is, amelyhez a /XML paramétert kell használnunk. Az XML formátumú eredmény segítségével két AppCmd parancs (például lekérdezés és beállítás) összecsövezhető a pipe (|) operátor és a /IN paraméter segítségével. Az alábbi példa elindítja az összes leállított alkalmazáskészletet:
appcmd list apppool /state:Stopped /xml | appcmd start apppool /in
Lekérdezéseknél van lehetőségünk szűrő alkalmazására, például az összes olyan webhelyet, amely tartalmazza a site szót, így kérhetjük le:
appcmd list site /name:”$*site*”
A lekérdezett értékeket fájlba is menthetjük és vissza is olvashatjuk onnan:
appcmd list site "Default Web Site" /config /xml >defaultSite.xml
appcmd add site /in <defaultSite.xml
Első lépések
Az AppCmd a %systemroot%\System32\inetsrv mappában található, amely mappa alapértelmezés szerint nem része a Path környezet változónak. Ezért vagy minden esetben kiírjuk a teljes elérési utat vagy inkább célszerű felvenni ezt a mappát a Path változóba.
Az egyes objektumokról és parancsokról az alábbi formában kérhetjük le a súgó fejezeteket:
appcmd /?
appcmd site /?
appcmd list site /?
Jó tudni
Az AppCmd nem támogatja a kiszolgáló távoli felügyeletét és futtatásához mindenképp helyi rendszergazdai jogosultságokkal kell rendelkeznünk. Amennyiben távolról vagy csökkentett jogosultságokkal szeretnénk felügyelni a webszervert, használjuk az IIS Manager funkcióit vagy PowerShellt.
Demó
A demóban bemutatjuk az AppCmd használatát objektumok tulajdonságainak lekérdezésére, valamint műveletek tömeges végrehajtására.
Lejátszáshoz kattints a képre!
Letöltés: AppCmd.wmv (12:14, 80.9 MB)
További információk