主要的操作步骤写出来:

步骤 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应用对象)

640x270 图1

如图1所示,请确保不要在每行文本后有多余的空格。


3. 在定义PSO属性的时候,有一些地方还得注意一下,额外的解释就没必要了,主要是一些逻辑上的注意点:

a. msDS-MinimumPasswordAge 的值必须小于或等于 msDS-MaximumPasswordAge 的值。

b.

msDS-LockoutObservationWindow 的值不能小于 msDS-LockoutDuration 的值。

c.

不能将 msDS-MaximumPasswordAge 的值设置为零。

4. 打开命令提示符,键入以下命令,如图2所示。

ldifde –i –f AdminPSO.ldf

414x161

图2

步骤 2:将 PSO 应用到用户和/或全局安全组

1.

在步骤1定义的文件AdminPSO.ldf中,有一个字段msDS-PSOAppliesTo:CN=PSOGroup,OU=TestOU,DC=Winos,DC=cn就表示将该PSO链接到具体的对象。如果想更改链接,可以将以下示例代码复制到一个文件(例如,ModifyAppliesTo.ldf)中,来指定你希望将什么 PSO 应用到哪些用户或全局安全组。例如我再新建一个用户lisi(他并不隶属于PSOGroup安全组),并将AdminPSO链接到他身上,如图3所示。

dn:CN=AdminPSO,CN=PasswordSettings Container,CN=System,DC=Winos,DC=cn

changetype:modify

replace:msDS-PSOAppliesTo

msDS-PSOAppliesTo:CN=PSOGroup,OU=TestOU,DC=Winos,DC=cn

msDS-PSOAppliesTo:CN=lisi,OU=TestOU,DC=Winos,DC=cn

-

640x189 图3

注:

文件中代码的最后一行中的连字符是必需的。用来表述输入终止。此外,DN字段中不要有中文,LDIFDE不支持中文。

2.

打开命令提示符,键入以下命令,如图4.

ldifde –i –f ModifyAppliesTo.ldf

1J2305J2-3.jpg

图4

步骤 3:管理 PSO

1.

如何想查看和修改 PSO 设置、修改 PSO 优先级可以参考前面那篇文章。(尽管仍可以通过ldifde命令实现这些操作,但是通过GUI界面还是方面不少)这里就介绍一下如何使用ldifde删除 PSO

2.

通过将以下内容保存到一个文件(例如,DeletePSO.ldf)中,如图5,来指定要删除的 PSO:

dn:CN=PSO1,CN=PasswordSettings Container,CN=System,DC=dc1,DC=contoso,DC=com changetype: delete

595x122 图5

3.

打开命令提示符,键入以下命令,如图6

ldifde

–i

–f

DeletePSO.ldf

1J2305411-5.jpg

图6

步骤 4:查看用户或全局安全组的结果 PSO

请参考前面的文章,此处略。

步骤5:验证结果

请参考前面的文章,此处略。

结束语

在这篇文章中,我向大家演示了如何通过ldifde工具来管理多元密码策略。由于很多操作在GUI界面中更具备便捷性,所以我就没有进行过多的演示。目的是不想舍近求远。在下一篇文章中,我将向大家阐述如何使用Quese公司出品的针对AD的PowerShell来实现、管理多元密码策略。