Script per la gestione degli Application Pool in IIS 6.0

Durante la fase di pacchettizzazione di un'applicazione Web può essere utile automatizzare alcune operazioni come ad esempio la creazione di un Application Pool e l'associazione di tale pool ad una determinata Virtual Directory.

Queste operazioni ed altre possono essere automatizzate utilizzando il provider WMI per IIS come indicato in [MSDN] Using WMI to Configure IIS. Vediamone ora un esempio di utilizzo in jscript per la creazione di un Application Pool.

Per prima cosa effettuiamo una connessione al namespace IIS di WMI:

var locatorObj = new ActiveXObject("WbemScripting.SWbemLocator");
var providerObj = locatorObj.ConnectServer("MyServer", "root/MicrosoftIISv2");

Poi creiamo il pool:

var newpool = providerObj.Get(" IIsApplicationPoolSetting ").SpawnInstance_();
newpool.Name = "W3SVC/AppPools/" + appPoolName;
newpool.Put_();

Infine verifichiamo l'avvenuta creazione:

newpool = providerObj.Get("IIsApplicationPool='W3SVC/AppPools/" + appPoolName + "'" );
WScript.Echo(" Creazione di " + newpool.Name + " eseguita con successo.");

A scopo di esempio ho realizzato uno script js che permette:

  • La creazione di un Application Pool
  • La cancellazione di un Application Pool
  • L'aggiornamento di un attributo di un Application Pool
  • La visualizzazione di un attributo di un Application Pool
  • L'assegnazione di un Application Pool ad una Virtual Directory
  • La visualizzazione dell'Application Pool associato ad una Virtual Directory

Qui trovate la reference guide che descrive tutti gli oggetti utilizzabili: Scripting API for WMI

dmpAppPool.js