ulvis.paste.net

Paste Search Dynamic
Recent pastes
AExplorer
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.DirectoryServices;
  7. using System.IO;
  8.  
  9. namespace AExplorer
  10. {
  11.    
  12.     public class ADFunction
  13.     {
  14.         public static bool IsADQueryDone = false;
  15.  
  16.         private string _domain;
  17.         public string Domain
  18.         {
  19.             get { return _domain; }
  20.             set { _domain = value; }
  21.         }
  22.         public async Task AsyncADquery()
  23.         {
  24.             int i = 0;
  25.  
  26.             //Gets the Domain Name which the user has entered
  27.             string urDomain = _domain;
  28.  
  29.             //Creates an AD entry to the domain
  30.             using (DirectoryEntry dEntry = new DirectoryEntry("LDAP://" + urDomain))
  31.             {
  32.                 //Creates a search from the entry
  33.                 using (DirectorySearcher dSearcher = new DirectorySearcher(dEntry))
  34.                 {
  35.                     //Specifies the search objects
  36.                     dSearcher.Filter = ("(objectClass=computer)");
  37.                     dSearcher.SizeLimit = 0;
  38.                     dSearcher.PageSize = 1000;
  39.                     dSearcher.PropertiesToLoad.Add("name");
  40.  
  41.                     //Loops threw all found computerobjects if the AD Attribute for the object is greater than it stores it to the textfile foundComp
  42.                     foreach (SearchResult resEnt in dSearcher.FindAll())
  43.                     {  
  44.                         if (resEnt.Properties["name"].Count > 0)
  45.                         {
  46.                             string dComputer = await Task.Run(() => resEnt.GetDirectoryEntry().Name.ToString());
  47.                             string dComputerTrimed = dComputer.Remove(0, 3);
  48.                             string addText = dComputerTrimed + Environment.NewLine;
  49.                             File.AppendAllText(MainWindow.foundComp, addText);
  50.                             i++;
  51.                         }
  52.                         else
  53.                         {
  54.                             IsADQueryDone = true;
  55.                         }
  56.                     }
  57.                 }
  58.             }
  59.         }
  60.     }
  61. }
Parsed in 0.016 seconds