目录服务命令行工具
目录服务命令行工具是用于管理 href="HELP=glossary.hlp TOPIC=gls_activedirectory">Active Directory 中各种id=wPopup title=查看定义
href="HELP=glossary.hlp TOPIC=gls_object">对象并对目录中的信息执行查询的一套工具。下面的列表对每个命令行工具及其功能进行了简短描述:
- dsadd — 向目录中添加对象。详细信息,请参阅 href="MS-ITS:ntcmds.chm::/Dsadd.htm">Dsadd。
- dsget — 显示目录中的对象的属性。详细信息,请参阅 href="MS-ITS:ntcmds.chm::/Dsget.htm">Dsget。
- dsmod — 修改目录中的现有对象的选定属性。详细信息,请参阅 href="MS-ITS:ntcmds.chm::/dsmod.htm">Dsmod。
- dsquery — 在目录中查找匹配指定搜索条件的对象。详细信息,请参阅 href="MS-ITS:ntcmds.chm::/dsquery.htm">Dsquery。
- dsmove — 将对象从其当前位置移到一个新的父位置。详细信息,请参阅 href="MS-ITS:ntcmds.chm::/dsmove.htm">Dsmove。
- dsrm — 删除对象,或目录中一个对象下面完整的子目录树,或两者都删除。详细信息,请参阅 href="MS-ITS:ntcmds.chm::/dsrm.htm">Dsrm。
目标对象类型
所有的命令行工具都可作用于目录中的各种对象类型。对于每一个接受对象特定参数的命令,允许输入作为参数的目标对象类型,命令将作用于它以及目标对象的标识。目标对象类型指定为预定义的字符串文字集中表示对象类的字符串文字。例如,在命令 dsmod computer 中,computer 是指定对象类型的字符串文字。
目标对象的标识在对象类型后面指定,格式为href="HELP=glossary.hlp TOPIC=gls_dn">可分辨名称(对象的可分辨名称属性的值)。例如,用户对象的可分辨名称可能为 CN=Jeff Smith,OU=Sales,DC=microsoft,DC=com。
在以下命令中,computer 指定正被修改的对象类型,而 CN=Jeff Smith,OU=Sales,DC=microsoft,DC=com 标识要修改的目标对象:
dsmod computer CN=Jeff Smith,OU=Sales,DC=microsoft,DC=com
-disabled yes
在网络上运行命令
每个工具都有一些参数,以允许您指定在运行命令时使用的服务器、域、用户名和密码。例如,下面是 dsadd computer 命令的语法:
dsadd computer ObjectDN
???? [-samid SAMName]
???? [-desc Description]
???? [-loc Location]
???? [-memberof Group ...]
???? [(-s Server | -d Domain)]
???? [-u UserName]
???? [-p (Password | *)]
???? [-q]
如果未输入这些参数,则工具会使用本地服务器、域、用户名和密码。
命令语法
下面的约定可用于描述目录服务命令行工具的语法:
- 当可以指定多个对象时,目标对象的可分辨名称属性的选项显示为 ObjectDN 或 ObjectDN ...。
- 若没有对象类型(如 computer)和该对象类型所需的任何参数(如目标对象的可分辨名称,ObjectDN),则命令不会执行任何操作。
- 对于特定命令,如果用户未在命令提示符处指定目标对象,则会从标准输入中获取目标对象。从标准输入中获取值可允许将一个命令的输出以管道方式输送到另一个命令中。
- 使用“...”(省略号)字符的目标对象语法表明可指定一列可分辨名称,每个可分辨名称之间用空格分隔(除非另有指明)。例如,以下参数接受多个可分辨名称:
-memberof Group ...
如果可分辨名称本身包含空格,则应将它们用引号 (" ") 括起来。
可分辨名称中不用作分隔符的逗号必须用反斜扛 (\) 字符进行转义(例如,"CN=Company\, Inc.,CN=Users,DC=microsoft,DC=com")。可分辨名称中使用的反斜扛必须用反斜扛进行转义(例如,"CN=Sales\\ Latin America,OU=Distribution Lists,DC=microsoft,DC=com")。
命令输入
- 所有参数都不区分大小写。
- 命令行参数可以用连字符 (-) 或正斜杠 (/) 字符来指定。
- 命令行参数和参数的任何对应的值应至少用一个空格来分隔。
- 当从标准输入中读取时,空格和换行字符都作为参数分隔符来处理。
- 空字符串值或 Null 字符串值可以用引号 (" ") 指定,且引号之间不括起字符。指定的空字符串值不同于缺少的值。参数值 ""(NULL 字符串)将作为删除目标对象中属性值的请求来处理。
- 有关任何命令的帮助都可以用 /? 来获得(例如,dsadd computer /?)。
命令输出
下面是显示由运行命令产生的数据、状态消息、错误和警告所遵循的约定:
- 成功的命令完成状态消息写入标准输出中。
- 命令显示的任何数据写入标准输出中。
- 任何警告或错误信息写入标准错误中。
- 退出代码(错误级别)使用 0 表示成功。如果操作不成功,则退出代码将是 HRESULT 格式的值。例如,HRESULT E_FAIL 的值是 0x80004005。
- 如果为命令指定了安静模式(使用 -q 参数),则将取消所有对标准输出的输出。但是,任何写入标准错误的消息都不会由于安静模式而被取消。