/// <summary> /// Get a list of ADConnectors.User created since a give date /// </summary> /// <param name="configuration"></param> /// <param name="earliest"></param> /// <returns></returns> private static (List <User>, List <Dictionary <string, string> >) CheckNewAccount(IConfiguration configuration, DateTime earliest) { List <User> users = new List <User>(); List <Dictionary <string, string> > incompletedUsers = new List <Dictionary <string, string> >(); using (IADSearcher ad = Creater.GetADConnector(configuration.GetSection("AD"))) { List <Dictionary <string, string> > results = ad.Search(earliest); Log.Information($"Total user found: {results.Count}"); int i = 0; foreach (var user in results) { i++; Console.WriteLine("User {0}: {1} ({2} {3})", i, user["samaccountname"], user["givenname"], user["sn"]); Log.Debug("User {0}: {1} ({2} {3})", i, user["samaccountname"], user["givenname"], user["sn"]); try { users.Add(new User(user)); } catch (KeyNotFoundException) { incompletedUsers.Add(user); } } }; return(users, incompletedUsers); }
public IActionResult OnPost() { _logger.LogDebug($"OnPost has been called with {Earliest}"); if (ModelState.IsValid) { _logger.LogDebug($"You set {Earliest}"); NewAccounts = _aDSearcher.Search(Earliest); Message = $"You have set earliest date to {Earliest} and total number of new accounts created since then is {NewAccounts.Count}"; } return(Page()); }
static void Main(string[] args) { Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .WriteTo.File("adconnectors.log") .CreateLogger(); IConfiguration configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("ad_connection.json") .Build(); DateTime earliest = new DateTime(2017, 9, 1); using (IADSearcher ad = Creater.GetADConnector(configuration)) { List <Dictionary <string, string> > results = ad.Search(earliest); Console.WriteLine(results.Count); Dictionary <string, string> lastAccount = ad.GetUser(int.Parse(results[results.Count - 1]["uidnumber"]), true); Console.WriteLine("Searching non existing account resulting zero number of key:"); Dictionary <string, string> nonExisting = ad.GetUser(1089); Console.WriteLine(nonExisting == null); }; }