2009-01-13 6 views
1

J'ai le programme suivant pour parcourir tous les répertoires virtuels et leurs sous-répertoires et fichiers (récursive):Comment puis-je parcourir récursivement tout le contenu d'IIS?

static void Main(string[] args) 
     { 
      string serverName = Environment.MachineName; 
      DirectoryEntry dir = new DirectoryEntry("IIS://" + serverName + "/W3SVC/1/ROOT", @"adminusername", @"password"); 
      dir.AuthenticationType = AuthenticationTypes.Secure;   
      PrintChildren(dir, 0); 
     } 

     private static void PrintChildren(DirectoryEntry entry,int level) 
     { 
      foreach (DirectoryEntry child in entry.Children) 
      { 
       Console.WriteLine(""); 
       Console.WriteLine("|"); 
       for (int i = 0; i < level; i++) 
       { 
        Console.Write("----"); 
       } 
       Console.Write(child.Name); 

       if (child.Children != null) 
       { 
        PrintChildren(child,level + 1); 
       } 
      } 
     } 

Maintenant, ce programme fait la liste de tous les répertoires virtuels, mais seulement dans quelques cas-t-il la liste des sous -directories d'un répertoire virtuel (Les répertoires que j'ai observés ont un accès anonyme activé dans IIS).

Comment puis-je m'assurer que ce programme peut parcourir tout le contenu d'IIS? Y a-t-il d'autres paramètres de sécurité pouvant être fournis/réglés?

Répondre

Questions connexes