作为一个大公司的IT管理人员,最痛苦的是每天创建、禁用、删除好几十个人员用户信息,目前我们通过程序批量创建域用户,但是离职用户的相关信息禁用及删除,需要我们手动来完成,之前文件介绍了,我们通过powershell来对指定的用户禁用及移动到指定的OU下,今天我们就通过vbs来实现将指定的用户禁用及移动到指定的OU。

我们首先是需要查看运行环境,我们创建Dsgrd Object组织单元,然后在该组织单元下创建Domain users二级组织单元,然后创建测试用户。

我们要将用户禁用后,移动到指定的OU下:Disable Accounts

接下来我们编辑程序:

代码:

'==========================================================================
'
' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 3.1
'
' NAME:
'
' AUTHOR: Windows 用户 , 12345
' DATE  : 2014/10/29
'
' COMMENT:
'
'==========================================================================
strDisableAccount = True
ForReading=1
strNewParentDN = "OU=Disable Accounts"   ' move To
strContainer = "OU=Dsgrd Object"  ' source
' ------ END CONFIGURATION ---------
' 开始运行功能
Set dic = CreateObject("Scripting.Dictionary")
Set  objRootDSE = GetObject("LDAP://rootDSE")
strDomainDN = objRootDSE.Get ("defaultNamingContext")  ' dong tai huo qu yu
Set objContainer = GetObject ("LDAP://"&strContainer&"," & strDomainDN)
subContainer objContainer,strUserDN
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("D:\11.txt", ForReading)
While Not objFile.AtEndOfStreamWScript.Echo VbCrLfstrUserDN = trim(objFile.Readline)WScript.Echo strUserDN '& VbCrLf
If dic.exists(strUserDN) Then
Set objCont = GetObject("LDAP://"&strNewParentDN&","& strDomainDN)'
Set objUser = dic.item(strUserDN)
If objUser.AccountDisabled = True Then
' WScript.Echo "Account for " & objUser.Get("cn") & " currently disabled - Not moved"objCont.MoveHere "LDAP://"& objUser.distinguishedName,"CN="&strUserDN 'vbNullString
Else
WScript.Echo "Account currently enabled"
objUser.AccountDisabled = True
objUser.SetInfoobjCont.MoveHere "LDAP://"& objUser.distinguishedName,"CN="&strUserDN 'vbNullStringWScript.Echo "Account for " & objUser.Get("cn") & " moved to new OU"
end If
End If
Wend
objFile.Close
Set objRootDSE = Nothing
Sub subContainer(objContainer,strUserDN)
For Each objUser In objContainer
If RegExpTest("OU=.*",objUser.name) Then
' MsgBox objUser.name
subContainer objUser,strUserDN
Else
dic.add objUser.sAMAccountName,objUser
' MsgBox  objUser.name &":"& objUser.AccountDisabled
End If
Next
'Set objContainer = Nothing
End Sub
Function RegExpTest(patrn, strng)Dim regEx, retVal            ' 建立变量。Set regEx = New RegExp         ' 建立正则表达式。regEx.Pattern = patrn         ' 设置模式。regEx.IgnoreCase = False         ' 设置是否区分大小写。retVal = regEx.Test(strng)         ' 执行搜索测试。If retVal ThenRegExpTest =TrueElseRegExpTest = FalseEnd If
End Function

我们设置需要禁用并且移动的账户信息:

然后我们运行程序进行查看:

程序执行后的效果:

转载于:https://blog.51cto.com/gaowenlong/1569616

vbs程序批量禁用域用户然后移动到指定OU相关推荐

  1. 利用脚本批量添加域用户账户

    以下内容摘自笔者编著的<网管员必读--网络管理>(第2版)一书: 2.4.6 利用脚本批量添加域用户账户  以上两种方法是比较常用的批量用户账户添加方法,但是不够灵活(不可以设置密码),而 ...

  2. 批量重置域用户密码(一)

    说到批量我们想到就是通过vbs.powershell.java等等来实现的方式,既然我们说到批量重置域用户密码,我想大家对这句话应该不陌生,因为网上有很多类似的做法,但是他们的做法跟我所实现的不一样, ...

  3. 批量查看域用户登录计算机信息

    批量查看域用户登录计算机信息 在企业中经常有各种针对域帐号信息收集的需求,比如收集帐号在哪台计算机的登录时间:或者收集针对计算机硬件信息收集,对于硬件的收集推荐使用Bginfo来部署,结合AD组策略登 ...

  4. dsrm批量删除域用户

    删除域账户,dsrm批量删除域用户,域控删除账户命令,批量删除禁用账户 一. 用命令删除域用户 在域控服务器管理时, 可以使用dsrm命令来删除域用户, dsrm删除账户语法 dsrm UDN -no ...

  5. 域用户指定计算机,什么是AD域,如何设置AD域用户仅登录到指定的计算机

    什么是AD域? 简单理解:Active Directory域内的directory database(目录数据库)是被用来存储用户账户.计算机账户.打印机和共享文件夹等对象,而提供目录服务的组件就是A ...

  6. 如何在AD中批量创建域用户

    原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 .作者信息和本声明.否则将追究法律责任. http://myloverxhy.blog.51cto.com/1666449/39616 ...

  7. 组策略 禁用域用户移动存储U盘

    背景:为了避免病毒通过U盘传入内网,为了工作单位的网络安全,通过在域控端创建组策略的形式,实现灵活控制域用户端U盘使用(灵活的原因在于不能禁用所有人的U盘使用权限,只能禁止一部分). 首先在域控服务器 ...

  8. 批量增加域用户并设置为漫游用户

    当一个域刚刚建成,管理员面对成百上千个要添加用户帐号,是否会大跌眼镜呢,别担心,微软早已为我们想好了解决办法. Addusers:微软在Windows 2000的Resource Kit工具箱中给用户 ...

  9. CSVDE批量导入域用户

    CSVDE批量导入用户 你可以使用Csvde格式的文件在活动目录中创建用户帐号和其他类型的帐号.但你不能使用Csvde删除活动目录中的对象. 使用Csvde命令行工具创建用户帐号,采用下列步骤: 1. ...

  10. AD下批量导入域用户

    如果您的域环境比较大,那么设置用户可能会不方便,就"新建用户"都可能重复做上几十遍....是不是很.....呵呵... 下面介绍一个工具"csvde.exe", ...

最新文章

  1. rhel8手动安装mysql_RHEL8 CentOS8 下安装 MySQL 8.0亲测
  2. 图像的膨胀与腐蚀、细化
  3. 031 广播变量与累加器
  4. Spring事务传递性探讨
  5. 反思避免只是小聪明:更加稳重 更加踏实
  6. linux随机自启命令,linux设置开机自启动
  7. Apache中的Order Allow,Deny用法详解
  8. 十二个 ASP.NET Core 例子
  9. 随机邮箱_msgsafe - 一个处于半死不活状态的加密邮箱
  10. 软件工程---18.面向服务的软件工程
  11. elispce导入java项目_emacs的java编程环境设置(jdee,lib,cedet,ecb
  12. 神经网络特征图计算_GNNFiLM:基于线性特征调制的图神经网络
  13. markdown 编辑器_推荐一款公众号 Markdown 编辑器
  14. c语言枪图形,6个变态的C语言Hello World程序[转载]
  15. vSphere Client 连接ESXi 或者是vCenter 时虚拟机提示VMRC异常的解决办法
  16. oracle中索引的类型,oracle索引类型normal
  17. java static 详解
  18. 定时上传文件至ftp服务器,CuteFTP FTP文件的定时上传图文教程
  19. 《东周列国志》第三十五回 晋重耳周游列国 秦怀嬴重婚公子
  20. Asp.net中GridView使用详解

热门文章

  1. numpy教程:基本输入输出和文件输入输出Input and output
  2. 【SimpleITK】使用区域生长法/种子填充法/形态学分割肺-CT img
  3. python 代码行数统计工具_Python实现代码行数统计工具
  4. python基础语法测评_3. Python基础语法
  5. oracle 删除用户和依赖,Oracle 12.2使用手动创建与注册依赖对象来执行联机重定义...
  6. React antD 使用Select 进阶功能 远程搜索,防抖控制,加载状态
  7. 蓝桥杯2019年第十届C/C++省赛C组第四题-质数
  8. Android FloatingActionButton(圆形按钮)
  9. javascript面试题(一)
  10. char型指针与其它指针或数组的细节