Пример #1
0
        internal static SecurityIdentifier[] GetServerAdmins(Server server, IDirectorySession session, Task.TaskErrorLoggingDelegate logError)
        {
            List <SecurityIdentifier>   list = new List <SecurityIdentifier>();
            ActiveDirectorySecurity     activeDirectorySecurity = PermissionTaskHelper.ReadAdSecurityDescriptor(server, session, logError);
            AuthorizationRuleCollection accessRules             = activeDirectorySecurity.GetAccessRules(true, false, typeof(SecurityIdentifier));

            foreach (object obj in accessRules)
            {
                ActiveDirectoryAccessRule activeDirectoryAccessRule = (ActiveDirectoryAccessRule)obj;
                if (activeDirectoryAccessRule.ActiveDirectoryRights == ActiveDirectoryRights.GenericAll)
                {
                    SecurityIdentifier item = (SecurityIdentifier)activeDirectoryAccessRule.IdentityReference;
                    list.Add(item);
                }
            }
            return(list.ToArray());
        }
Пример #2
0
        public static ActiveDirectorySecurity ReadAdSecurityDescriptor(ADRawEntry entry, IDirectorySession session, Task.TaskErrorLoggingDelegate logError)
        {
            RawSecurityDescriptor rawSecurityDescriptor = null;

            return(PermissionTaskHelper.ReadAdSecurityDescriptor(entry, session, logError, out rawSecurityDescriptor));
        }