/// <summary> /// Gets users using domain name /// </summary> /// <param name="domainName"></param> /// <param name="samAccountName"></param> /// <param name="userPrincipals"></param> public static void GetUserWhereDomain(string domainName, string samAccountName, XElement userPrincipals) { foreach (UserPrincipal userPrincipal in (IEnumerable <UserPrincipal>)DomainsManager.GetWhereDomain(domainName, samAccountName)) { userPrincipals.Add((object)ActiveDirectoryUser.ToXElement(userPrincipal)); } }
/// <summary> /// Starts the execution of the application product. /// </summary> public static void Start() { Application.Current.MainWindow.Cursor = Cursors.Wait; AppExec.LoadConfigurationFrom(); WorkspaceDirector = new WorkspaceManager(ShellHost); DocumentVisualizerControl = new WidgetDocumentVisualizer(); IdeaPaletteControl = new WidgetItemsPaletteGroup(); MarkerPaletteControl = new WidgetItemsPaletteGroup(); ComplementPaletteControl = new WidgetItemsPaletteGroup(); CompositionDirector = new CompositionsManager("Composition Manager", "CompositionManager", "Manager for the Composition work-sphere.", Display.GetAppImage("page_white_edit.png"), WorkspaceDirector, DocumentVisualizerControl, IdeaPaletteControl, MarkerPaletteControl, ComplementPaletteControl); DomainDirector = new DomainsManager("Domain Manager", "DomainManager", "Manager for the Domain work-sphere.", Display.GetAppImage("book_edit.png"), WorkspaceDirector, DocumentVisualizerControl, IdeaPaletteControl); WorkSphereManagers.Add(CompositionDirector); WorkSphereManagers.Add(DomainDirector); CompositionDirector.ExposeCommands(); DomainDirector.ExposeCommands(); InitializeUserInterface(); ProcessCommandLineArguments(); Application.Current.MainWindow.PostCall( wnd => { // IMPORTANT: This prevents to get some static constructors called when INSIDE A COMMAND, which can roll-back // important fields (set to null/default) when user clicks a Cancel button on an editing form. AppExec.InvokeAllStaticConstructors(); ValidateLicense(); Console.WriteLine(ProductDirector.APPLICATION_NAME + " " + ProductDirector.APPLICATION_VERSION + " Copyright (C) " + ProductDirector.APPLICATION_COPYRIGHT_YEARS + " " + Company.NAME_LEGAL); Console.WriteLine("License: " + AppExec.LicenseType.Name + ". Edition: " + AppExec.LicenseEdition.Name + ". Mode: " + AppExec.LicenseMode.Name + ". Expiration: " + (AppExec.LicenseExpiration == General.EMPTY_DATE ? "NEVER" : AppExec.LicenseExpiration.ToShortDateString()) + "."); // Console.WriteLine("Started."); ProductUpdateDaylyDetection(); Application.Current.MainWindow.Cursor = Cursors.Arrow; }); }
/// <summary> /// Gets /// </summary> /// <param name="samAccountName"></param> /// <param name="displayName"></param> /// <returns></returns> internal static IList <UserPrincipal> Get(string samAccountName, string displayName) { if (samAccountName == null && displayName == null) { throw new ArgumentException("At least one parameter is required."); } List <UserPrincipal> userPrincipalList = new List <UserPrincipal>(); UserPrincipal userPrincipal1 = new UserPrincipal(new PrincipalContext(ContextType.Domain, DomainsManager.GetContextDomain())); if (samAccountName != null) { Utils.validateLength(samAccountName); userPrincipal1.SamAccountName = samAccountName; } if (displayName != null) { Utils.validateLength(displayName); userPrincipal1.DisplayName = displayName; } using (PrincipalSearcher principalSearcher = new PrincipalSearcher((Principal)userPrincipal1)) { foreach (UserPrincipal userPrincipal2 in principalSearcher.FindAll()) { userPrincipalList.Add(userPrincipal2); } } return((IList <UserPrincipal>)userPrincipalList); }
/// <summary> /// Gets all the computers from Active Directory /// </summary> /// <returns></returns> internal static List <ComputerPrincipal> GetAll() { List <ComputerPrincipal> computerPrincipalList = new List <ComputerPrincipal>(); using (PrincipalSearcher principalSearcher = new PrincipalSearcher((Principal) new ComputerPrincipal(new PrincipalContext(ContextType.Domain, DomainsManager.GetContextDomain())))) { foreach (ComputerPrincipal computerPrincipal in principalSearcher.FindAll()) { computerPrincipalList.Add(computerPrincipal); } } return(computerPrincipalList); }
/// <summary> /// Get Multiple Domains /// </summary> /// <param name="xName"></param> /// <param name="userPrincipals"></param> public static void GetUserMultipleDomains(string xName, XElement userPrincipals) { foreach (ActiveDirectoryUser multipleDomain in (IEnumerable <ActiveDirectoryUser>)DomainsManager.GetMultipleDomains(xName)) { userPrincipals.Add((object)multipleDomain.ToXElement()); } }