Esempio n. 1
0
        internal static void Userlist(UserListParms parms)
        {
            var un = parms.UserName?.OfType <String>()?.FirstOrDefault();
            AmiCollection <SecurityUserInfo> users = null;

            if (parms.Locked && !String.IsNullOrEmpty(un))
            {
                users = m_client.GetUsers(o => o.UserName.Contains(un) && o.Lockout.HasValue);
            }
            else if (!String.IsNullOrEmpty(un))
            {
                users = m_client.GetUsers(o => o.UserName.Contains(un));
            }
            else
            {
                users = m_client.GetUsers(o => o.UserName != null);
            }

            if (parms.Active)
            {
                users.CollectionItem = users.CollectionItem.Where(o => !o.User.ObsoletionTime.HasValue).ToList();
            }
            if (parms.Human)
            {
                users.CollectionItem = users.CollectionItem.Where(o => o.User.UserClass == UserClassKeys.HumanUser).ToList();
            }
            else if (parms.System)
            {
                users.CollectionItem = users.CollectionItem.Where(o => o.User.UserClass != UserClassKeys.HumanUser).ToList();
            }

            Console.WriteLine("SID{0}UserName{1}Last Lgn{2}Lockout{2} ILA  A", new String(' ', 37), new String(' ', 32), new String(' ', 13));
            foreach (var usr in users.CollectionItem)
            {
                Console.WriteLine("{0}{1}{2}{3}{4}{5}{6}{5}{7}{8}{9}",
                                  usr.User.Key.Value.ToString("B"),
                                  new String(' ', 2),
                                  usr.UserName.Length > 38 ? usr.UserName.Substring(0, 38) : usr.UserName,
                                  new String(' ', usr.UserName.Length > 38 ? 2 : 40 - usr.UserName.Length),
                                  usr.User.LastLoginTime.HasValue ? usr.User.LastLoginTime?.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss") : new String(' ', 19),
                                  "  ",
                                  usr.Lockout.HasValue ? usr.User.Lockout?.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss") : new string(' ', 19),
                                  usr.User.InvalidLoginAttempts,
                                  new String(' ', 4 - usr.User.InvalidLoginAttempts.ToString().Length),
                                  usr.User.ObsoletionTime.HasValue ? "  " : " *"
                                  );
            }
        }
Esempio n. 2
0
        internal static void Userlist(UserListParms parms)
        {
            var           un    = parms.UserName?.OfType <String>()?.FirstOrDefault();
            AmiCollection users = null;

            if (parms.Locked && !String.IsNullOrEmpty(un))
            {
                users = m_client.GetUsers(o => o.UserName.Contains(un) && o.Lockout.HasValue);
            }
            else if (!String.IsNullOrEmpty(un))
            {
                users = m_client.GetUsers(o => o.UserName.Contains(un));
            }
            else
            {
                users = m_client.GetUsers(o => o.ObsoletionTime == null);
            }

            if (parms.Active)
            {
                users.CollectionItem = users.CollectionItem.OfType <SecurityUserInfo>().Where(o => o.Entity.ObsoletionTime.HasValue).OfType <object>().ToList();
            }
            if (parms.Human)
            {
                users.CollectionItem = users.CollectionItem.OfType <SecurityUserInfo>().Where(o => o.Entity.UserClass == ActorTypeKeys.HumanUser).OfType <object>().ToList();
            }
            else if (parms.System)
            {
                users.CollectionItem = users.CollectionItem.OfType <SecurityUserInfo>().Where(o => o.Entity.UserClass != ActorTypeKeys.HumanUser).OfType <object>().ToList();
            }
            DisplayUtil.TablePrint(users.CollectionItem.OfType <SecurityUserInfo>(),
                                   new String[] { "SID", "Name", "Last Auth", "Lockout", "ILA", "A" },
                                   new int[] { 38, 24, 22, 22, 4, 2 },
                                   o => o.Entity.Key,
                                   o => o.Entity.UserName,
                                   o => o.Entity.LastLoginTimeXml,
                                   o => o.Entity.LockoutXml,
                                   o => o.Entity.InvalidLoginAttempts,
                                   o => o.Entity.ObsoletionTime.HasValue ? null : "*"
                                   );
        }