批量添加/导入用户列表到 Active Directory 中的组?

批量添加/导入用户列表到 Active Directory 中的组?

我们有两个用户列表(每个列表约 1000 个),需要将它们添加到 Active Directory 中的组(Windows Server 2003...一个列表将在一个组中,另一个列表将在另一个组中)。所有用户当前都存在于目录中,但我们只需正确分配它们。有没有一种简单的方法可以做到这一点而无需编写脚本?如果没有,可以使用 Ruby、Perl 或 Python 编写脚本吗?

谢谢!

答案1

您可以使用伊迪夫德从 ldif 文件导入用户或维德从 csv 文件导入。

这些文章是 2000 年的,但仍然适用于 2003 年版本。

抱歉,我看错了问题。那么你真正想要的是修改或者更直接添加命令。您可以重定向文件或执行简单的批处理脚本,例如:

for /f %%i in (%1) do dsadd group <group_dn> -members %%i

然后称之为add.bat <file_of_users>

答案2

我最终用 ruby​​ 编写了脚本。我不太喜欢 Windows 批处理脚本,这样我就可以从我的 Linux 机器(我的主要桌面)执行它。希望它能帮助其他人:

require 'ldap'

conn = LDAP::Conn.new('ad-server-host-name', 389)
conn.bind('user', 'password')

puts "Connected? #{conn.bound?}"

group_dn = "CN=blah, OU=blah, OU=blah, OU=blah, dc=company, dc=com"

mod = [LDAP.mod(LDAP::LDAP_MOD_DELETE, 'member',     ["CN=test,OU=Test,OU=blah,DC=blah,DC=blah"])]

begin
  conn.modify(dn, mod)
rescue LDAP::ResultError
  conn.perror("modify")
end

相关内容