public HttpResponseMessage CheckADObject(string adObject) { HttpResponseMessage response = new HttpResponseMessage(); ADObjectCheckResult result = new ADObjectCheckResult(); result = ActiveDirectory.CheckADObjectType(adObject); response = Request.CreateResponse(HttpStatusCode.OK, result); return(response); }
public static ADObjectCheckResult GenerateADObjectCheckResultForValidUser() { ADObjectCheckResult result = new ADObjectCheckResult(); result.code = 0; result.adObject = TestConstants.UserPrimary; result.queryResult = new List <string>() { "user" }; return(result); }
public static ADObjectCheckResult GenerateADObjectCheckResultForNonExistingADObject() { ADObjectCheckResult result = new ADObjectCheckResult(); result.code = 5; result.adObject = TestConstants.InvalidADObject; result.queryResult = new List <string>() { "no such AD object" }; return(result); }
public static ADObjectCheckResult GenerateADObjectCheckResultForValidGroupAndComputer() { ADObjectCheckResult result = new ADObjectCheckResult(); result.code = 4; result.adObject = TestConstants.GroupAndComputer; result.queryResult = new List <string>() { "group", "computer" }; return(result); }
public static ADObjectCheckResult GenerateADObjectCheckResultForValidGroup() { ADObjectCheckResult result = new ADObjectCheckResult(); result.code = 1; result.adObject = TestConstants.GroupPrime; result.queryResult = new List <string>() { "group" }; return(result); }
/// <summary> /// This method receives the name of an AD object and checks whether /// the object is a user, group or something else and returns the result. /// </summary> /// <param name="adObject">The name of the AD Object to check it's type.</param> /// <returns>an ADObjectCheckResult object containing the adObject, a list result if /// the object is a user, group or computer. /// The method returns an integer code to differentiate results: /// 0 - The AD Object is a user /// 1 - The AD Object is a group /// 2 - The AD Object is a computer /// 3 - The AD Object is a user and a computer /// 4 - The AD Object is a group and a computer /// 5 - There is no such AD Object</returns> public static ADObjectCheckResult CheckADObjectType(string adObject) { ADObjectCheckResult result = new ADObjectCheckResult(); result.adObject = adObject; // Set up domain context. PrincipalContext pc = new PrincipalContext(ContextType.Domain, Domain, Constants.adQueryUser, Constants.adQueryPassword); // Find the object in AD. // We check for each AD Object seperately to avoid MultipleMatchesException. UserPrincipal userObject = UserPrincipal.FindByIdentity(pc, IdentityType.SamAccountName, adObject); GroupPrincipal groupObject = GroupPrincipal.FindByIdentity(pc, IdentityType.SamAccountName, adObject); ComputerPrincipal computerObject = ComputerPrincipal.FindByIdentity(pc, adObject); if (userObject != null) { if (computerObject == null) { // The input AD Object is a user. result.code = 0; result.queryResult = new List <string>() { "user" }; } else { // The input AD Object is a user and a computer. result.code = 3; result.queryResult = new List <string>() { "user", "computer" }; } } else if (groupObject != null) { if (computerObject == null) { // The input AD Object is a group. result.code = 1; result.queryResult = new List <string>() { "group" }; } else { // The input AD Object is a group and a computer. result.code = 4; result.queryResult = new List <string>() { "group", "computer" }; } } else if (computerObject != null) { // The input AD Object is a computer. result.code = 2; result.queryResult = new List <string>() { "computer" }; } else { // No such object in AD result.code = 5; result.queryResult = new List <string>() { "no such AD object" }; } return(result); }