using System; using System.Net; using System.DirectoryServices; using System.DirectoryServices.Protocols; public class MainClass { public static void Main() { Uri uri = new Uri("http://yourSite:8080/dsml3"); DsmlDirectoryIdentifier identifier = new DsmlDirectoryIdentifier(uri); NetworkCredential credentials = new NetworkCredential(); credentials.UserName = @"explorercnagel"; credentials.Password = "password"; DsmlSoapHttpConnection dsmlConnection = new DsmlSoapHttpConnection(identifier); string baseDN = null; string ldapSearchFilter = "(objectClass=*)"; string[] attributesToReturn = null; SearchRequest searchRequest = new SearchRequest(baseDN, ldapSearchFilter,System.DirectoryServices.Protocols.SearchScope.Base, attributesToReturn); SearchResponse searchResponse = (SearchResponse)dsmlConnection.SendRequest(searchRequest); foreach (SearchResultEntry entry in searchResponse.Entries) { DirectoryAttribute attribute = entry.Attributes["schemaNamingContext"]; Console.WriteLine(attribute.Name + "=" + attribute[0]); foreach (DirectoryAttribute attr in entry.Attributes.Values) { Console.Write(attr.Name + "="); foreach (object value in attr) { Console.Write(value + " "); } } } } }
Author: coder
Using DsmlDirectoryIdentifier
using System; using System.Net; using System.DirectoryServices; using System.DirectoryServices.Protocols; public class MainClass { public static void Main() { Uri uri = new Uri("http://yourSite/dsml1"); DsmlDirectoryIdentifier identifier = new DsmlDirectoryIdentifier(uri); NetworkCredential credentials = new NetworkCredential(); credentials.UserName = "yourName"; credentials.Password = "password"; DsmlSoapHttpConnection connection = new DsmlSoapHttpConnection(identifier, credentials); connection.BeginSession(); string distinguishedname = "yourName"; string ldapFilter = "object=user"; string[] attributes = new string[1]; DirectoryRequest request = new SearchRequest(distinguishedname, ldapFilter, System.DirectoryServices.Protocols.SearchScope.Subtree, null); DirectoryResponse response = connection.SendRequest(request); connection.EndSession(); } }
Find DNS Servers from Registry
using System; using Microsoft.Win32; class FindDNSServers { public static void Main() { RegistryKey start = Registry.LocalMachine; string DNSservers = @"SYSTEMCurrentControlSetServicesTcpipParameters"; RegistryKey DNSserverKey = start.OpenSubKey(DNSservers); if (DNSserverKey == null) { Console.WriteLine("Unable to open DNS servers key"); return; } string serverlist = (string)DNSserverKey.GetValue("NameServer"); Console.WriteLine("DNS Servers: {0}", serverlist); DNSserverKey.Close(); start.Close(); char[] token = new char[1]; token[0] = ' '; string[] servers = serverlist.Split(token); foreach (string server in servers) { Console.WriteLine("DNS server: {0}", server); } } }
Get DNS Address Info
using System; using System.Net; public class GetDNSAddressInfo { public static void Main(string[] argv) { if (argv.Length != 1) { Console.WriteLine("Usage: GetDNSAddressInfo address"); return; } IPAddress test = IPAddress.Parse(argv[0]); IPHostEntry iphe = Dns.GetHostByAddress(test); Console.WriteLine("Information for {0}", test.ToString()); Console.WriteLine("Host name: {0}", iphe.HostName); foreach(string alias in iphe.Aliases) { Console.WriteLine("Alias: {0}", alias); } foreach(IPAddress address in iphe.AddressList) { Console.WriteLine("Address: {0}", address.ToString()); } } }
Find DNS Servers
using System; using Microsoft.Win32; public class FindDNSServers { public static void Main() { RegistryKey start = Registry.LocalMachine; string DNSservers = @"SYSTEMCurrentControlSetServicesTcpipParameters"; RegistryKey DNSserverKey = start.OpenSubKey(DNSservers); if (DNSserverKey == null) { Console.WriteLine("Unable to open DNS servers key"); return; } string serverlist = (string)DNSserverKey.GetValue("NameServer"); Console.WriteLine("DNS Servers: {0}", serverlist); DNSserverKey.Close(); start.Close(); char[] token = new char[1]; token[0] = ' '; string[] servers = serverlist.Split(token); foreach(string server in servers) { Console.WriteLine("DNS server: {0}", server); } } }
DNS Name Resolution
using System; using System.Net; public class DNSNameResolution { [STAThread] static void Main(string[] args) { IPHostEntry MyHost = Dns.Resolve(args[0]); foreach (IPAddress MyIP in MyHost.AddressList) { Console.WriteLine(MyIP.Address); } } }
DNS Reverse Lookup and Lookup
using System; using System.Collections.Generic; using System.Text; using System.Net; //DnsLookup class Program { static void Output(IPHostEntry ipHostEntry) { Console.WriteLine("Host: {0}", ipHostEntry.HostName); Console.WriteLine(" Aliases:"); foreach (string alias in ipHostEntry.Aliases) { Console.WriteLine(alias); } Console.WriteLine(" Address(es):"); foreach (IPAddress address in ipHostEntry.AddressList) { Console.WriteLine("Address: {0}", address.ToString()); } Console.ReadLine(); } static void Lookup(string hostname) { IPHostEntry ipHostEntry = Dns.GetHostByName(hostname); Output(ipHostEntry); } static void ReverseLookup(string address) { IPHostEntry ipHostEntry = Dns.GetHostByAddress(address); Output(ipHostEntry); } static void Main(string[] args) { Lookup("www.microsoft.com"); ReverseLookup("172.18.1.1"); } }