/// <summary> /// AD Sunucusundan kayıtlı tüm bilgisayar listesini getirir. /// </summary> /// <returns> Bilgisayar Listesini döner </returns> public IEnumerable <ComputersProperties> GetAllComputers() { List <ComputersProperties> computerPropertiesList = new List <ComputersProperties>(); try { using (var principialContext = _computer.SetPrincipialContext()) using (var computerPrincipial = _computer.SetComputerPrincipial(principialContext)) using (var principialSearcher = _computer.SetPrincipialSearcher()) { computerPrincipial.Name = "*"; principialSearcher.QueryFilter = computerPrincipial; PrincipalSearchResult <Principal> _computerSearchResult = principialSearcher.FindAll(); foreach (var p in _computerSearchResult) { ComputerPrincipal pc = (ComputerPrincipal)p; string ipAdress = GetComputerIpAddress(p.Name); var computerPro = new ComputersProperties(pc.Name, pc.Sid.ToString(), ipAdress, pc.LastPasswordSet.ToString(), pc.LastBadPasswordAttempt.ToString()); computerPropertiesList.Add(computerPro); } } } catch (Exception ex) { errorMessage = ex.Message; } return(computerPropertiesList); }
/// <summary> /// Fill DataGridView on Computer Form. /// Bilgisayar Formlarındaki datagridviewleri bu class yordamıyla dolduruyoruz. /// </summary> /// <param name="computerList"></param> /// <returns> Domain Computers as List </returns> public DataTable FillDataTableWithComputers(List <ComputersProperties> computerList) { List <ComputersProperties> _computerList = computerList; try { computerDt = new DataTable(); computerDt.Columns.Add("Kayıt No", typeof(int)); computerDt.Columns.Add("Pc Adı", typeof(string)); computerDt.Columns.Add("Sid", typeof(string)); computerDt.Columns.Add("İp Adresi", typeof(string)); computerDt.Columns.Add("Son Parola Oluşturma", typeof(string)); computerDt.Columns.Add("Son Başarısız Parola Giriş", typeof(string)); for (int i = 0, j = 1; i < _computerList.Count && j <= _computerList.Count; i++, j++) { computerDt.NewRow(); ComputersProperties computerPro = _computerList[i]; computerDt.Rows.Add(j, computerPro.computerName, computerPro.computerSID, computerPro.ipAdress, computerPro.lastPassSet, computerPro.lastBadAttempt); } } catch (Exception ex) { computerDt = null; } return(computerDt); }
/// <summary> /// Searching for all computers in domain. /// </summary> /// <returns> List of Computers.</returns> public List <ComputersProperties> SearchComputer() { List <ComputersProperties> computerProList = new List <ComputersProperties>(); try { using (var principialCtx = new PrincipalContext(ContextType.Domain, domainServer)) using (var computerPricipial = new ComputerPrincipal(principialCtx)) using (var priSearcher = new PrincipalSearcher(computerPricipial)) { computerPricipial.Name = "*"; priSearcher.QueryFilter = computerPricipial; PrincipalSearchResult <Principal> computerList = priSearcher.FindAll(); foreach (var p in computerList) { ComputerPrincipal pc = (ComputerPrincipal)p; string ipAdress = GetComputerIpAddress(p.Name); var computerPro = new ComputersProperties(pc.Name, pc.Sid.ToString(), ipAdress, pc.LastPasswordSet.ToString(), pc.LastBadPasswordAttempt.ToString()); computerProList.Add(computerPro); } } } catch (Exception e) { throw; } return(computerProList); }