コード例 #1
0
ファイル: Program.cs プロジェクト: ssteiner/LinqToLdap
        private static void EnablePasswordChangesOn389()

        {
            using (var context = new DirectoryContext())

            {
                var attributes = context.ListServerAttributes("namingcontexts");

                var namingContexts = attributes.GetStrings("namingcontexts");

                var configurationDN = namingContexts != null

                                          ? namingContexts

                                      .FirstOrDefault(s => DnParser.ParseName(s)

                                                      .Equals("Configuration", StringComparison.OrdinalIgnoreCase))

                                          : null;

                bool success = false;

                if (configurationDN != null)

                {
                    var directoryService = context.Query(configurationDN)

                                           .Where(_ => Filter.Equal(_, "cn", "Directory Service", true))

                                           .Select("distinguishedName")

                                           .FirstOrDefault();

                    if (directoryService != null)

                    {
                        directoryService.Set("dSHeuristics", "0000000001001");

                        context.Update(directoryService);

                        success = true;
                    }
                }

                if (!success)

                {
                    Console.WriteLine("Could not set a password policy");
                }
            }
        }