Comment obtenir par programme une liste de sites et des répertoires virtuels dans IIS 7?

Quelqu’un sait-il comment obtenir par programme la liste des sites et les répertoires virtuels dans IIS 7?

Découvrez cet article – semble être une nouvelle API de gestion épatante dans l’espace de noms Microsoft.Web.Administration :

http://blogs.msdn.com/carlosag/archive/2006/04/17/MicrosoftWebAdministration.aspx

Voici un bref aperçu graphique de cet article de blog:

texte alternatif

Et voici un article “The Gu” sur les nouvelles fonctionnalités et API IIS7 de Cool

Quelque chose comme ceci trouvera tous les sites, leurs applications et leurs répertoires virtuels sur votre serveur IIS7:

  static void Main(ssortingng[] args) { ServerManager mgr = new ServerManager(); foreach(Site s in mgr.Sites) { Console.WriteLine("Site {0}", s.Name); foreach(Application app in s.Applications) { Console.WriteLine("\tApplication: {0}", app.Path); foreach(VirtualDirectory virtDir in app.VirtualDirectories) { Console.WriteLine("\t\tVirtual Dir: {0}", virtDir.Path); } } } Console.ReadLine(); } 

Un inconvénient important à l’utilisation de l’assembly Microsoft.Web.Administration est que le code doit être exécuté sur une machine sur laquelle IIS7 est installé.

Lorsque je développais un système pour charger des sites IIS7 dans une page Web sur mon ordinateur Windows XP, j’ai découvert cette limitation. L’API est géniale, j’aurais juste aimé pouvoir l’utiliser.

Contrôler le serveur IIS 7 à partir d’un serveur Windows 2003 par programme