/// <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));
     }
 }
Ejemplo n.º 2
0
        /// <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;
            });
        }
Ejemplo n.º 3
0
        /// <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());
     }
 }