批量修改AD的属性(转)

  1. Dim objInfo
  2. Const ADS_SCOPE_SUBTREE = 2
  3. Set fso = CreateObject("Scripting.FileSystemObject")
  4. Set objFile = fso.OpenTextFile("Userinfo.csv")
  5. Set objConnection = CreateObject("ADODB.Connection")
  6. Set objCommand =   CreateObject("ADODB.Command")
  7. objConnection.Provider = "ADsDSOObject"
  8. objConnection.Open "Active Directory Provider"
  9. Set objCommand.ActiveConnection = objConnection
  10. objCommand.Properties("Page Size") = 1000
  11. objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
  12. Do
  13. On Error Resume Next
  14.         objInfo = Split(objfile.ReadLine,",")
  15.         strDN = FindUserDN(objInfo(0))
  16.         Set objUser = GetObject("LDAP://" & strDN)
  17.         objUser.Put "description",objInfo(1)
  18.         objUser.SetInfo       
  19.         If Err.Number <> 0 Then
  20.                 WScript.Echo "Error:" & objInfo(0) & "," & objInfo(1)
  21.         End If
  22.         strDN = ""
  23. Loop Until objfile.AtEndOfStream = True
  24. objfile.Close
  25. WScript.Echo "Done!"
  26. Function FindUserDN(strUserDisplayName)
  27.         objCommand.CommandText = _
  28.             "SELECT distinguishedName FROM 'LDAP://OU=test,DC=contoso,DC=com' WHERE objectCategory='user' " & _
  29.                 "AND displayname = '" & strUserDisplayName & "'"
  30.         Set objRecordSet = objCommand.Execute
  31.         objRecordSet.MoveFirst
  32.         Do Until objRecordSet.EOF
  33.             arrDN = objRecordSet.Fields("distinguishedName").Value
  34.             If IsArray(arrDN) = True Then
  35.                     WScript.Echo strUserDisplayName
  36.                     FindUserDN = arrDN(0)
  37.             Else
  38.                     FindUserDN = arrDN
  39.             End if
  40.             objRecordSet.MoveNext
  41.         Loop
  42.         If Err.Number <> 0 Then
  43.                 WScript.Echo Err.Description & ":" & strUserDisplayName
  44.                 Err.Clear
  45.         End If       
  46. End Function
 

需要在脚本同目录下放一个名为Userinfo.csv的文件,格式为"用户显示名,工号"
然后修改相关的LDAP路径使之符合你的AD结构
最后请使用cscript执行本脚本

原文:http://bbs.winos.cn/viewthread.php?tid=36398&extra=&page=1

转载于:https://www.cnblogs.com/chenyongping/archive/2011/04/07/2007831.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值