2013-01-18 120 views
1

這是有點連接到這個職位,我不想污染。活動目錄密碼到期日期

Active Directory user password expiration date .NET/OU Group Policy

像在該線程的OP,我試圖讓通過給定碼AD用戶名的密碼失效日期;然而,上述maxPwdAge在線程中提到的屬性不可用時,我試圖讓所有可用的屬性如下:

  PropertyCollection fields = myLDAP.Properties; 

      foreach (String ldapField in fields.PropertyNames) 
      { 
       // cycle through objects in each field e.g. group membership 
       // (for many fields there will only be one object such as name) 

       foreach (Object myCollection in fields[ldapField]) 
        Console.WriteLine(String.Format("{0,-20} : {1}", 
            ldapField, myCollection.ToString())); 
      } 

即使是微軟的ADExplorer並沒有表現出密碼過期日期。

但是當我嘗試此命令提示符命令:

net user thatuser /DOMAIN 

它會顯示密碼過期日期。

我的問題是:

  1. 爲什麼我看不到maxPwdAge作爲屬性
  2. 哪裏net user命令得到密碼截止日期以及如何獲得它在C#代碼?

現在我正在用控制檯應用程序測試這個;當測試這個時,發現目標機器上沒有安裝.Net 4.0,所以我堅持使用.Net 3.5我不是服務器管理員,所以我不知道配置服務器的細節。我是這個AD LDAP的新手,請大家幫忙。謝謝。

回答

2

maxPwdAge定義密碼可以有效的時間長度,而不是過期時間。

它是在組級別設置的屬性,而不是用戶屬性。

你感興趣的可能是maxPwdAge + pwdLastSet

pwdLastSet是用戶屬性)

2

在我的項目之一,我不得不讀域對象maxPwdAge和值添加到用戶的財產lastPwdSet