根据计算机帐号,将其自动的移动到相应的OU脚本

很多的企业都有这样的要求:希望整理自己的computers容器中的计算机,根据计算机名将其添加到对应的OU中去,但如果由人力来实现的话,工作量非常大,所以,在这次给某个企业实施项目的时候,我随手写了一个脚本,该脚本会自动将计算机加入到对应的OU中去。用户可以自己改写一下脚本,以适应自己的情况,我的脚本里对计算机名截取了2个字符。

dim strADsPath
dim sResultText
Const ADS_SCOPE_SUBTREE = 2
Set con = CreateObject(“ADODB.Connection”)
Set com = CreateObject(“ADODB.Command”)
‘Open the connection with the ADSI-OLEDB provider name
con.Provider = “ADsDSOObject”
con.Open

Com.ActiveConnection = con

Com.CommandText = “<LDAP://cn=computers,DC=contoso,DC=com>;” & “(objectClass=computer);name;subTree”
Set rs = Com.Execute()
i=0

Do Until rs.EOF
   sResultText=rs.Fields(“name”).value
   Select Case left(sResultText,2)
   Case “c1″
       strADsPath=”LDAP://cn=” & sResultText & “,cn=computers,dc=contoso,dc=com”
       set objou=getobject(“LDAP://ou=ouc1,dc=contoso,dc=com“)
       objou.movehere strADsPath,vbNullString
   Case “c2″
       strADsPath=”LDAP://cn=” & sResultText & “,cn=computers,dc=contoso,dc=com”
       set objou=getobject(“LDAP://ou=ouc2,dc=contoso,dc=com“)
       objou.movehere strADsPath,vbNullString
   Case “c3″
      strADsPath=”LDAP://cn=” & sResultText & “,cn=computers,dc=contoso,dc=com”
      set objou=getobject(“LDAP://ou=ouc3,dc=contoso,dc=com“)
       objou.movehere strADsPath,vbNullString
   Case “c4″
      strADsPath=”LDAP://cn=” & sResultText & “,cn=computers,dc=contoso,dc=com”
      set objou=getobject(“LDAP://ou=测试,dc=contoso,dc=com”)
       objou.movehere strADsPath,vbNullString
End Select

  rs.MoveNext
Loop

con.close

 

然后,在控制面板的“定期任务”中,将此脚本指定多少时间执行一次,然后输入执行的用户和密码,即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值