前言
在上一篇文章《精通Windows Server 2008 多元密碼原則之ADSIEDIT篇》中我向大家介紹了如何通過ADSIEDIT工具和活動目錄使用者和電腦嵌入式管理單元建立、管理密碼設定物件PSO。原理性的東西和需要注意的地方我就這這篇文章和之後的文章中不再贅述了。有需要的請查看上篇文章。接下來的重點主要是動手部分。廢話少說,開始!為了讓大家在操作的時候有一個清晰的思路,我將主要的操作步驟寫出來:
步驟 1:建立 PSO
步驟 2:將 PSO 應用到使用者和/或全域安全性群組
步驟 3:管理 PSO
步驟 4:查看使用者或全域安全性群組的結果 PSO
步驟5:驗證結果
註:由於通用性和重複性,有些步驟不一定會示範出來,請參考前面的文章。
實戰
Ⅱ. LDIFDE
步驟1:建立PSO
1. 在使用LDIFDE工具建立PSO前,我覺得很有必要介紹一下“負PSO 屬性值”這個概念。從前面那篇文章可以知道,使用 ADSI Edit 建立密碼設定物件 (PSO) 時,是以 dd:hh:mm:ss 格式輸入四個與時間相關的 PSO 屬性(msDS-MaximumPasswordAge、msDS-MinimumPasswordAge、msDS-LockoutObservationWindow 和 msDS-LockoutDuration)的值。而在這篇文章中使用 ldifde 命令建立 PSO 時,則必須以 I8 格式輸入這些屬性的值,這種格式以 -100 毫微秒的間隔儲存時間。Windows Server 2003“預設域策略”將此確切的時間單位用於其相應的時間相關屬性。若要將這些屬性設定為適當的值,請將以分鐘、小時或天為單位的時間值轉換為以 100 毫微秒為間隔的時間值,然後在所得到的值前面加個負號。是不是有點暈?看個例子就很簡單了:
1分鐘換算成I8值為:
-60*(10^7) = - 600000000
1小時換算成I8值為:
-60*60* (10^7) = -36000000000
1天換算成I8值為:
-24*60*60*(10^7) = -864000000000
例如,如果您希望將 msDS-MaximumPasswordAge 設定為 10 天,則用 -864000000000 乘以 10,並將得到的 I8 值應用到 msDS-MaximumPasswordAge 屬性(在本例中為 -8640000000000)。如果您希望將 msDS-LockoutDuration 設定為 30 分鐘,則用 -600000000 乘以 30 以得到相應的 I8 值(在本例中為 -18000000000)。
2.
通過將以下範例程式碼儲存為一個檔案(例如,AdminPSO.ldf),來建立一個新 PSO 的設定:
dn:CN=AdminPSO,CN=PasswordSettings Container,CN=System,DC=Winos,DC=cn(注意:Password Settings Container3個單詞中用空格兩兩隔開。我這裡是為了word排版美觀,就沒有隔開。)
changetype: add
objectClass:msDS-PasswordSettings
msDS-MaximumPasswordAge:-12096000000000
(密碼最長可以使用14天)
msDS-MinimumPasswordAge:-0
(密碼最短必須使用0天,即可以立即更改密碼)
msDS-MinimumPasswordLength:16
(密碼最小長度為16個字元)
msDS-PasswordHistoryLength:3
(密碼不能和過去的3個重複)
msDS-PasswordComplexityEnabled:TRUE
(啟用密碼複雜性要求)
msDS-PasswordReversibleEncryptionEnabled:FALSE
(啟用使用者密碼不可還原加密)
msDS-LockoutObservationWindow:-18000000000
(帳號鎖定視窗時間30分鐘)
msDS-LockoutDuration:-18000000000
(帳號鎖定觀察視窗時間30分鐘)
msDS-LockoutThreshold:3
(輸入錯誤密碼3次就鎖定)
msDS-PasswordSettingsPrecedence:1
(該PSO的優先順序)
msDS-PSOAppliesTo:CN=PSOGroup,OU=TestOU,DC=Winos,DC=cn
(GPO應用對象)
圖1
如圖1所示,請確保不要在每行文本後有多餘的空格。