AD 批量导入和导出指南(二)
2009 年 01 月 12 日 星期一 20:52
使用 VBScript 和 ADSI
ADSI 可以使支持目录 的 应 用 程序的 开 发 工 作更 加 轻 松 。您可 以 使 用 VBScript 或
Microsoft JScript®开发软件编写脚本以执行批量目录操作(与 Windows Script Host
一起使用)。在本指南中,使用 VBScript 编写的简单应用程序执行上一节描述的过程
(它使用的是 LDIF)。
注意,这些脚本不包括任何错误检查,这意味着它们不提供 VBScript 和 ADSI 程序员参
考。此处包含的所有示例都假设:您使用正确的凭据登录到作为目标域成员的计算机上。
在 ADSI 中,可以明确指定凭据和目标域。完成每个过程后,请检查 “Active Directory
用户和计算机”管理单元,确认条目已修改。
导出对象
本 示 例 中 使 用 文 本 编 辑 器 ( 如 “ 记 事 本 ”) 来 创 建 VBScript 程 序 。 该 脚 本 搜 索
“Marketing”OU 并创建一个文本文件,该文件中将列出所有用户对象及其属性子集。
创建并执行导出脚本
1.
单击“开始”按钮,单击“运行”,键入“Notepad export.vbs”,然后单击“确定”。在出现相
应提示时,单击“是”创建新的文件。将以下文本复制到“export.vbs”中。
'Global variables
Dim oContainer
Dim OutPutFile
Dim FileSystem
'Initialize global variables
Set FileSystem =
WScript.CreateObject("Scripting.FileSystemObject")
Set OutPutFile = FileSystem.CreateTextFile("marketing.txt",
True)
Set
oContainer=GetObject("LDAP://OU=Marketing,OU=Accounts,DC=contoso,
DC=com")
'Enumerate Container
EnumerateUsers oContainer
'Clean up
OutPutFile.Close
Set FileSystem = Nothing
Set oContainer = Nothing
WScript.Echo "Finished"
WScript.Quit(0)
Sub EnumerateUsers(oCont)
Dim oUser
For Each oUser In oCont
Select Case LCase(oUser.Class)
Case "user"
If Not IsEmpty(oUser.distinguishedName) Then