CSVDE

    逗号分隔值数据交换工具(即 CSVDE)使用 CSV 源文件将新对象导入到 Active Directory 中;此外,该工具还提供了将现有对象导出到 CSV 文件的功能。CSVDE 不能用于修改现有对象;在导入模式下使用此工具时,您只能创建全新的对象。

    使用 CSVDE 导出现有对象的列表相当简单。将 Active Directory 对象导出到名为 ad.csv 的文件,方法如下:

    csvde –f ad.csv

    –f 开关表示后面为输出文件的名称。但是必须注意,根据环境的不同,此基本语法可能会生成不实用的大型输出文件。要将此工具限制为仅导出特定组织单位 (OU) 中的对象,可以将语句修改为如下形式:

    csvde –f UsersOU.csv –d ou=Users,dc=test,dc=com

    进一步假定我们只对将用户对象导出到 CSV 文件感兴趣。如果是那样的话,我们可以添加 –r 开关和 –l 开关,前者允许指定轻型目录访问协议 (LDAP) 筛选器进行搜索,后者可以限制导出的属性的数量(请注意以下所有内容位于一行):

    csvde –f UsersOnly.csv –d ou=Users,dc=contoso,dc=com –r
           "(&(objectcategory=person)(objectclass=user))" –l
           DN,objectClass,description

    通过 –i 开关,我们可以将对象从源 CSV 文件导入到 Active Directory。但是,使用 CSVDE 创建用户对象存在一个关键限制:不能使用 CSVDE 设置用户密码。因此,应该避免使用 CSVDE 创建用户对象。

    LDIFDE

    Active Directory 还提供了另外一个用于执行批量用户操作的内置工具,称为 LDIFDE,与 CSVDE 相比,此工具更强大,更灵活。除了可以创建新对象外,LDIFDE 还可以修改和删除现有对象,甚至扩展 Active Directory 架构。LDIFDE 虽然具有灵活性,但为了实现这种灵活性却必须要使用扩展名为 .ldf 的 LDIF 文件作为输出文件,这种文件与简单的 CSV 文件相比,格式更复杂。(只需少量操作就可以配置好用户密码,我稍后将对此进行介绍。)

    我们从一个简单的示例开始,将某个 OU 中的用户导出到 LDF 文件中(请注意以下所有内容位于一行):

    ldifde -f users.ldf -s DC1.contoso.com -d "ou=UsersOU,dc=contoso,dc=com"
           –r "(&(objectcategory=person)(objectclass=user))"
    与大多数命令行工具一样,我们可以通过运行 LDIFDE /? 命令找到 LDIFDE 开关的完整说明。

     LDIFDE 开关

    -
     d指定 LDIFDE 为了执行操作应连接到的 LDAP 路径。

     -f 指明要使用的文件的名称,在本例中用于输出导出结果。


     -r 指定要用于导出操作的 LDAP 筛选器。

    -
     s 指定要连接到的执行操作的域控制器 (DC);如果遗漏了此项,LDIFDE 将连接到本地 DC 上(如果您正在从工作站中运行此工具,则连接到验证您身份的 DC)。

    LDIFDE 的真正功能在于创建和操作对象。然而,进行此操作之前,我们首先需要创建一个输入文件。以下语句创建两个名为 afuller 和 rking 的用户帐户;要创建该输入文件,请在记事本(或者您喜欢的纯文本编辑器)中输入以下文本,然后将其保存为 NewUsers.ldf:

    dn: CN=afuller, OU=UsersOU, DC=test, DC=com
    changetype: add
    cn: afuller
    objectClass: user
    samAccountName: afuller

    dn: CN=rking, OU=UsersOU, DC=test, DC=com
    changetype: add
    cn: rking
    objectClass: user
    samAccountName: rking

    创建完该文件后,请运行以下命令:

    ldifde –i –f NewUsers.ldf –s DC1.test.com

    dsadd

    Dsadd 用于在特定的目录分区上创建 Active Directory 对象类的实例。这些类包括用户、计算机、联系人、组、组织单位和配额。Dsadd 具备一个由下列内容组成的通用语法:

    dsadd <ObjectType> <ObjectDistinguishedName> attributes

    请注意,创建的每个对象类型都有一组特定的开关,它们与该类型的属性相对应。以下命令创建一个填充了各种属性的用户对象(请注意以下所有内容位于一行):

    dsadd user cn=afuller,ou=IT,dc=test,dc=com
    –samID afuller –fn Andrew –ln Fuller –pwd *
    -memberOf cn=IT,ou=Groups,dc=test,dc=com "cn=Help Desk,ou=Groups,
    dc=test,dc=com"
    –desc "Marketing Director"

    –memberOf 开关要求指定应添加该用户的每个组的完整可分辨名称 (DN);如果要将用户添加到多个组,我们可以添加多个 DN 并用空格分隔开。

    任何元素如果包含空格(如 Help Desk 组的 DN),则该元素应该括在双引号中。如果某个元素含有反斜杠(如称为 IT\EMEA 的 OU),则必须输入两次反斜杠:IT\\EMEA。(这些要求适用于所有的 ds* 工具。)

    如果使用 -pwd * 开关,则系统将提示您在命令行输入用户密码。您可以在该命令中指定密码 (-pwd P@ssWord1),但是这样会在屏幕上或该命令嵌入到的任何文本或脚本文件中以纯文本形式显示该密码。

    同样,我们可以使用下列两个命令创建组对象和 OU:

    dsadd computer cn=WKS1,ou=Workstations,dc=test,dc=com
            dsadd ou "ou=Training OU,dc=test,dc=com"

    Dsmod

    Dsmod 用于修改现有对象,它的使用方法与 dsadd 非常相似,您需要根据要修改的对象的类型使用不同的子菜单和语法。以下 dsmod 语句会更改用户的密码并修改该用户的帐户,因此在下次登录时系统会提示该用户更改为新的密码:

    dsmod user "cn=afuller,ou=IT,dc=test,dc=com" –pwd P@ssw0rd1
        –mustchpwd yes

    要了解这些开关多么相似,您可以查看要用于创建此用户并配置了相同属性的 dsadd 语法:

    dsadd user "cn=afuller,ou=IT,dc=test,dc=com" –pwd P@ssw0rd1
        –mustchpwd yes

            您可以清晰地看到,如果知道 dsadd 中用于创建对象的开关,则可以使用那些相同的开关修改 dsmod 用户。

    dsrm

    dsrm 与 dsadd 是相逆的;正如您可能想到的,使用此工具可从命令行中删除对象。基本的 dsrm 语法相当简明:只需输入 dsrm 后输入要删除对象的可分辨名称即可,如下所示:

    dsrm cn=WKS1,ou=Workstations,dc=test,dc=com

    默认情况下,dsrm 会提示“确实要删除此对象吗?”,此时键入 Y,然后按 Enter。您可以使用 –noprompt 开关禁止显示此提示,但很明显,这样做无法在删除对象之前确认所选对象是否正确。如果要删除容器对象(即,在其内部可能包含其他对象的组织单位),另外两个开关可能会很有用。以下命令将删除 TrainingOU 组织单位及其内部包含的所有对象:

    dsrm ou=TrainingOU,dc=test,dc=com –subtree

    以下命令将删除包含在 TrainingOU 中的所有子对象,但保留组织单位对象本身:

    dsrm ou=TrainingOU,dc=test,dc=com –subtree
        –exclude

    dsmove

    要移动或重命名 Active Directory 中的对象,请使用 dsmove 工具,但请注意只应使用该工具在单一域中移动对象。要在域和林之间迁移对象,请使用 Active Directory 迁移工具 (ADMT),可从 Microsoft 网站免费下载。Dsmove 依赖于两个开关,它们可以单独使用,也可以结合在一起使用。以下命令将为 Steve Conn 的帐户指定新姓氏:

    dsmove "cn=Conn, Steve,ou=IT,dc=test,dc=com"
        –newname "Steve Conn"

    以下命令将 Steve 的帐户从 IT OU 移动到 Training OU:

    dsmove "cn=Conn, Steve,ou=IT,dc=test,dc=com" –newparent
        ou=Training,dc=test,dc=com

    可以通过同时指定这两个开关,将重命名和移动合并为一个操作,如下所示:

    dsmove "cn=Conn, Steve,ou=IT,dc=test,dc=com" –newname
        "Steve Conn" –newparent ou=Training,dc=test,dc=com
• dsadd - 向目录中添加对象。 
• dsget - 显示目录中的对象的属性。 
• dsmod - 修改目录中的现有对象的选定属性。
• dsquery - 在目录中查找匹配指定搜索条件的对象。 
• dsmove - 将对象从其当前位置移到一个新的父位置。
• dsrm - 删除对象,或目录中一个对象下面完整的子目录树,或两者都删除。

ads.msc、gpmc.msc、ldp.exe、dcdiag、netdiag、replmon、、ntdsutil、nslookup、ntbackup 
recovery management for Active Directory
其中netdiag dcdiag addiag  用于查询dc网络故障,通过在supper tools 运行netdiag命令我们可以根据提示找出问题所在,举个例子:isa为域成员,一天网管发现isa无法找到dc,提示rpc服务不可用,我们运行netdiag
D:\Support Tools>netdiag
...................................
    Computer Name: ISA
    DNS Host Name: isa.contoso.com
    System info : Windows 2000 Server (Build 3790)
    Processor : x86 Family 15 Model 4 Stepping 3, GenuineIntel
    List of installed hotfixes :
        KB911564
        KB925398_WMP64
        KB925876
        KB925902
        KB930178
        KB931768
        KB931784
        KB931836
        KB932168
        Q147222
Adapter : {6981CD9A-AA04-4FEE-8986-0B672B1A35BE}
        Netcard queries test . . . : Passed
        Host Name. . . . . . . . . : isa
        IP Address . . . . . . . . : 10.194.146.65
        Subnet Mask. . . . . . . . : 255.255.255.255
        Default Gateway. . . . . . :
        Dns Servers. . . . . . . . :
        AutoConfiguration results. . . . . . : Passed
        Default gateway test . . . : Skipped
            [WARNING] No gateways defined for this adapter.
        NetBT name test. . . . . . : Passed
        [WARNING] At least one of the <00> 'WorkStation Service', <03> 'Messenge
r Service', <20> 'WINS' names is missing.
            No remote names have been found.
        WI NetBT name test. . . . . . . . . . : Passed
    [WARNING] You don't have a single interface with the <00> 'WorkStation Servi
ce', <03> 'Messenger Service', <20> 'WINS' names defined.

Winsock test . . . . . . . . . . . : Passed
NS service test. . . . . : Skipped
rberos test. . . . . . . . . . . : Skipped

LDAP test. . . . . . . . . . . . . : Passed
    [WARNING] Failed to query SPN registration on DC 'fileserver.contoso.com'.
    [WARNING] Failed to query SPN registration on DC 'WSUS.contoso.com'.
发现提示 ] You don't have a single interface with the <00> 'WorkStation Servi
ce', <03> 'Messenger Service', <20> 'WINS' names defined.,没有wins服务。我们打开服务,开启行"TCP/IP NetBIOS helper"服务,检查网卡属性,发现NetBIOS是禁用的,开启
故障恢复