2010-09-30 9 views
3

Je peux créer une nouvelle zone, ajouter et supprimer des enregistrements pour cette zone, tout assez facilement en utilisant WMI et System.Management, mais pour la vie de moi ne peut pas comprendre comment supprimer une zone. Il ne semble pas être une méthode dans la documentation WMI:Comment supprimer une zone DNS avec WMI

http://msdn.microsoft.com/en-us/library/ms682123(VS.85).aspx

Toute réflexion sur la façon de le faire? Essayer de garder le serveur DNS propre lorsque nous supprimons les anciens clients du site Web, mais je ne peux obtenir que la suppression de tous les enregistrements d'une zone.

EDIT: Ceci est sur une machine Windows Server 2008 R2. Et je serais ok avec une réponse de "ne pas utiliser WMI" s'il y a une solution alternative que je peux exécuter à partir d'un ordinateur distant et le code dans #

Répondre

3

Vous pouvez supprimer des zones de la même manière qu'un enregistrement.

internal static bool DeleteZoneFromDns(string ZoneName) 
    { 
     try 
     { 
      string Query = "SELECT * FROM MicrosoftDNS_Zone WHERE ContainerName = '" + ZoneName + "'"; 
      ObjectQuery qry = new ObjectQuery(Query); 
      DnsProvider dns = new DnsProvider(); 
      ManagementObjectSearcher s = new ManagementObjectSearcher(dns.Session, qry); 
      ManagementObjectCollection col = s.Get(); 
      dns.Dispose(); 

      foreach (ManagementObject obj in col) 
      { 
       obj.Delete(); 
      } 
      return true; 
     } 
     catch (Exception) 
     { 
      return false; 
     } 
    } 
+0

Vous êtes une rockstar! Je ne suis pas sûr de la classe DnsProvider, mais j'ai été capable de le remplacer par l'objet ManagementScope que j'utilisais actuellement dans mes autres méthodes de gestion DNS. Quoi qu'il en soit ... a travaillé d'abord essayer! Merci un million –

+0

De rien! Désolé de ne pas avoir clarifié la classe DnsProvider, c'est une classe que j'ai écrite pour aider à la gestion DNS. Je savais que tu te débrouillerais avec ce que je t'ai donné. – mcass20

Questions connexes