using System.Collections.Generic;
using System.DirectoryServices.Protocols;
using System.DirectoryServices;
using System.DirectoryServices.ActiveDirectory;
using System.DirectoryServices.AccountManagement;
public static bool fnValidateUser()
LdapConnection lcon = new LdapConnection(new LdapDirectoryIdentifier((string)null, false, false));
NetworkCredential nc = new NetworkCredential(Environment.UserName, "kals123", Environment.UserDomainName);
lcon.AuthType = AuthType.Negotiate;
#region Listing All Users
public static void fnListAllUser()
DirectoryEntry directoryEntry = new DirectoryEntry("WinNT://" + Environment.UserDomainName);
string authenticationType = "";
foreach (DirectoryEntry child in directoryEntry.Children)
if (child.SchemaClassName == "User")
userNames += child.Name + Environment.NewLine;
authenticationType += child.Username + Environment.NewLine;
Console.WriteLine("************************Users************************");
Console.WriteLine(userNames);
Console.WriteLine("*****************Authentication Type*****************");
Console.WriteLine(authenticationType);
Console.WriteLine("Network error occured.");
#region user names with groups
public static void fnGetListOfUsers()
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "USERS");
foreach (Principal p in group.GetMembers())
Console.WriteLine("{0}: {1}", p.StructuralObjectClass, p.DisplayName);
Console.WriteLine("Network error occured.");
#region User Details from AD
public static void fnImp()
using (var context = new PrincipalContext(ContextType.Domain, Environment.UserDomainName))
using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
foreach (var result in searcher.FindAll())
DirectoryEntry de = result.GetUnderlyingObject() as DirectoryEntry;
if ((string)de.Properties["givenName"].Value == Environment.UserName)
PropertyCollection pc = de.Properties;
foreach (PropertyValueCollection col in pc)
Console.WriteLine(col.PropertyName + " : " + col.Value);
Console.WriteLine("Network error occured.");
static void Main(string[] args)
Console.WriteLine(fnValidateUser());