コード例 #1
0
        private bool checkAdsFlag(AdsUserFlags flagToCheck)
        {
            AdsUserFlags userFlags = (AdsUserFlags)
                                     user.Properties["userAccountControl"].Value;

            return(userFlags.ToString().Contains(flagToCheck.ToString())); // userFlags == flagToCheck;
        }
コード例 #2
0
        public void GetUserAccountSettingsCalculated()
        {
            //point this to a user in the directory
            DirectoryEntry user = TestUtils.CreateDirectoryEntry(
                "CN=User1,OU=Users," + TestUtils.Settings.DefaultPartition);

            //this is a pain to type a lot :)
            string msDS = "msDS-User-Account-Control-Computed";

            using (user)
            {
                //this is constructed attribute
                user.RefreshCache(
                    new string[] { msDS }
                    );

                AdsUserFlags userFlags =
                    (AdsUserFlags)user.Properties[msDS].Value;

                Console.WriteLine(
                    "AdsUserFlags for {0}: {1}",
                    user.Path,
                    userFlags
                    );
            }
        }
コード例 #3
0
ファイル: AdsUser.cs プロジェクト: chrisobrien07/TestLdapApp
        public AdsUserFlags GetUserFlags()
        {
            DirectoryEntry user      = new DirectoryEntry("LDAP://CN=User1,CN=users,DC=domain,DC=com", null, null, AuthenticationTypes.Secure);
            AdsUserFlags   userFlags = (AdsUserFlags)user.Properties["userAccountControl"].Value;

            return(userFlags);
        }
コード例 #4
0
        public void SetUserAccountSettings()
        {
            //point this to a user in the directory
            DirectoryEntry entry = TestUtils.CreateDirectoryEntry(
                "CN=User1,OU=Users," + TestUtils.Settings.DefaultPartition);

            using (entry)
            {
                AdsUserFlags newValue = AdsUserFlags.NormalAccount | AdsUserFlags.PasswordDoesNotExpire;

                entry.Properties["userAccountControl"].Value = newValue;
                entry.CommitChanges();
            }
        }
コード例 #5
0
        public void GetUserAccountSettings()
        {
            //point this to a user in the directory
            DirectoryEntry user = TestUtils.CreateDirectoryEntry(
                "CN=User1,OU=Users," + TestUtils.Settings.DefaultPartition);

            AdsUserFlags userFlags = (AdsUserFlags)
                                     user.Properties["userAccountControl"].Value;

            Console.WriteLine(
                "AdsUserFlags for {0}: {1}",
                user.Path,
                userFlags
                );
        }
コード例 #6
0
        private bool checkFlag(AdsUserFlags flagValue)
        {
            int userFlags    = (int)user.Properties["userAccountControl"].Value;
            int flagValueInt = Convert.ToInt16(((int)flagValue).ToString(), 8);

            //int i = 32; // for example
            byte[]   ba           = BitConverter.GetBytes((int)flagValue);
            BitArray flagBitArray = new BitArray(ba);

            ba = BitConverter.GetBytes(flagValueInt);
            BitArray flagValueArray = new BitArray(ba);

            for (int i = 0; i < 32; i++)
            {
                if (flagBitArray[i] && flagValueArray[i])
                {
                    return(true);
                }
            }

            return(false);
        }
コード例 #7
0
        private bool checkFlag(AdsUserFlags flagValue)
        {
            int userFlags = (int)user.Properties["userAccountControl"].Value;
            int flagValueInt = Convert.ToInt16(((int)flagValue).ToString(), 8);

            //int i = 32; // for example
            byte[] ba = BitConverter.GetBytes((int)flagValue);
            BitArray flagBitArray = new BitArray(ba);

            ba = BitConverter.GetBytes(flagValueInt);
            BitArray flagValueArray = new BitArray(ba);

            for (int i = 0; i < 32; i++)
            {
                if (flagBitArray[i] && flagValueArray[i])
                    return true;
            }

            return false;
        }
コード例 #8
0
        private bool checkAdsFlag(AdsUserFlags flagToCheck)
        {
            AdsUserFlags userFlags = (AdsUserFlags)
                user.Properties["userAccountControl"].Value;

            return userFlags.ToString().Contains(flagToCheck.ToString()); // userFlags == flagToCheck;
        }