博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从外部文件批量处理AD帐号属性
阅读量:7220 次
发布时间:2019-06-29

本文共 1412 字,大约阅读时间需要 4 分钟。

目前我们公司对离职人员的帐号管理通过下面的方式,离职流程中的最后一关是在在HR部门打印离职单证明,在打印完离职证明后,HR系统自动将离职人员的AD帐号进行禁用,隔日HR系统导出离职报表给网管,进行删除。
其实目前公司完全可以做到在HR系统中设置直接删除离职人员,但因安全方面的考虑(如,HR mm操作失误,在职状态将调任误改为离职...),所以在最后删帐号时还是由网管人为去确认。下面是批量对AD帐号进行操作的方法。
如果一天的离职人员有很多,包括有帐号或没帐号的,网管是不可能一个个去删的。能过下面的代码,可以将所有离职人员的工号保存在一个文本文件中,执行脚本,并自动将离职人员移入一个特定的OU,如Dimission_Users。同时也可以对用户属性操作,如禁用帐号,在描述中添加“Dimission"等信息。下面的代码供参考(将帐号保存到response.txt文件,与下面的脚本一个目录就可以):
Set objou=GetObject(" ")
Set con = CreateObject("ADODB.Connection")
Set com = CreateObject("ADODB.Command")
con.Provider = "ADsDSOObject"  'this is the ADSI-OLEDB provider name
con.Open "Active Directory Provider"
Set Com.ActiveConnection = con
com.Properties("Page Size")=1000
Dim fs, f,i
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile("response.txt")
Do While f.AtEndOfStream <> True
 com.CommandText = "select name,samaccountname,adspath from 'LDAP://DC=contoso, DC=com' WHERE samAccountName=" & "'" & f.ReadLine & "'"
 Set rs = Com.Execute
 While Not rs.EOF
    Set usr=GetObject(rs.fields("AdsPath"))
  usr.accountdisabled= Not enable
  usr.put "description","dimission"
  'WScript.Echo usr.name
  usr.setinfo
  set newuser=objou.movehere(usr.adspath,vbnullstring)
    WScript.Echo rs.Fields("Name"),rs.fields("samaccountname")
  rs.MoveNext
 Wend
Loop
f.Close
 
可以通过该脚本批量对AD对象进行操作,如部门,分机,公司...。也可以通过再加修改连接数据库,从HR数据库中取信息来更新用户信息。
本文转自William宋 51CTO博客,原文链接:http://blog.51cto.com/sting/328193,如需转载请自行联系原作者
你可能感兴趣的文章
MySQL 函数大全
查看>>
YII with()
查看>>
《当你的才华还撑不起你的梦想时》读后感
查看>>
Redis高可用哨兵原理
查看>>
chroot directory
查看>>
文件系统的简单操作
查看>>
xtrabackup 安装
查看>>
一步步学习EF Core(1.DBFirst)
查看>>
php 例子 如何转换ISO8601为 utc时间
查看>>
第四次实验
查看>>
IOS UIView 03- 自定义 Collection View 布局
查看>>
instantclient的使用入门
查看>>
【数据结构作业心得】4-1 指针笔记
查看>>
oracle拼接字段用||
查看>>
rabbitmq /usr/lib/rabbitmq/bin/rabbitmq-server: line 85: erl: command not found
查看>>
编程语言学习清单
查看>>
IO流的复习笔记
查看>>
MySQL Connector Net连接vs2012问题
查看>>
LeetCode – Refresh – Merge Intervals
查看>>
UDP编程简单案例
查看>>