1

過去 30 日間非アクティブなユーザー アカウントを削除しようとしています。ユーザー情報一覧を取得してみました。すべてのプロパティとフィールドを確認しましたが、最終ログイン時間に関連するものは見つかりませんでした。

4

2 に答える 2

0

このようなことができます

public DateTime Get(string attr, string UserName)
        {

            DomainConfiguration domainConfig = new DomainConfiguration();
            using (new SPMonitoredScope("AD Properties"))
            {
                using (DirectoryEntry domain = new DirectoryEntry("LDAP://" + domainConfig.DomainName, domainConfig.UserName, domainConfig.Password))
                {
                    //DirectorySearcher searcher = new DirectorySearcher(domain, "(|(objectClass=organizationalUnit)(objectClass=container)(objectClass=builtinDomain)(objectClass=domainDNS))");
                    DirectorySearcher searcher = new DirectorySearcher(domain);
                    searcher.PageSize = 1000;
                    searcher.Filter = "(SAMAccountName='" + UserName + "')";
                    //searcher.Filter = "(|(objectCategory=group)(objectCategory=person))";
                    searcher.Filter = "(&(objectClass=user) (cn=" + UserName + "))";
                    var user = searcher.FindOne();
                    DateTime LastLogon = DateTime.FromFileTime((Int64)user.Properties["lastLogon"].Value);
                    return LastLogon;
                }
            }
        }

これがお役に立てば幸いです。

于 2012-12-18T12:29:21.383 に答える