活动目录管理---批量用户添加登录到指定计算机
2012-11-14 14:24
417 查看
需求:公司采用域环境管理,所有用户都绑定到只能登录到某一台电脑使用,只在会议室增加一台公用电脑,为了方便资源访问,让所有用户都可以登录这台电脑使用,如果一个一个用户这样添加登录到指定电脑,是可以实现的,但工作量相当的大,因为有用户好几百,或几K的时候就成问题了。
以下是通过参考微软官方技术支持文档改写的批处理,快速实现批量用户添加绑定到相应电脑登录。
运行环境:需在域服务器上以域管理员身份运行以下vbs批处理
1、批量添加,如把ou为:二级---行政部 里所有用户都开通可以使用计算机名为testpc的电脑
strNewComputer = "testpc"
Const ADS_SCOPE_SUBTREE = 2
Const ADS_PROPERTY_UPDATE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
"SELECT distinguishedName,userWorkstations FROM 'LDAP://ou=行政部,ou=二级,dc=domain,dc=com' WHERE objectCategory='user'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
strUserWS = objRecordSet.Fields("userWorkstations").Value
strDN = objRecordSet.Fields("distinguishedName").Value
Set objUser = GetObject("LDAP://" & strDN)
If strUserWS <> "" And InStr(strUserWS,strNewComputer) = 0 Then
strTemp = strUserWS & "," & strNewComputer
objUser.Put "userWorkstations",strTemp
objUser.SetInfo
End If
objRecordSet.MoveNext
Loop
把上述脚本保存为add.vbs ,以域管理员权限在域服务器上执行即可。
2、批量删除,如撤销上述操作:
strNewComputer = "testpc"
Const ADS_SCOPE_SUBTREE = 2
Const ADS_PROPERTY_UPDATE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
"SELECT distinguishedName,userWorkstations FROM 'LDAP://ou=行政部,ou=二级,dc=domain,dc=com' WHERE objectCategory='user'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
strUserWS = objRecordSet.Fields("userWorkstations").Value
strDN = objRecordSet.Fields("distinguishedName").Value
Set objUser = GetObject("LDAP://" & strDN)
If InStr(strUserWS,strNewComputer) <> 0 Then
strTemp = Replace(strUserWS,"," & strNewComputer,"")
objUser.Put "userWorkstations",strTemp
objUser.SetInfo
End If
objRecordSet.MoveNext
Loop
把上述脚本保存为delete.vbs ,以域管理员权限在域服务器上执行即可。
注:1、红色字体为根据用户实际环境修改;
2、上述操作不影响原来已经添加有的计算机;
3、由于实际环境的差异,请测试后再在生产环境下使用!
本文出自 “MG05 學習筆記~” 博客,请务必保留此出处http://pimg2005.blog.51cto.com/842469/1059737
以下是通过参考微软官方技术支持文档改写的批处理,快速实现批量用户添加绑定到相应电脑登录。
运行环境:需在域服务器上以域管理员身份运行以下vbs批处理
1、批量添加,如把ou为:二级---行政部 里所有用户都开通可以使用计算机名为testpc的电脑
strNewComputer = "testpc"
Const ADS_SCOPE_SUBTREE = 2
Const ADS_PROPERTY_UPDATE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
"SELECT distinguishedName,userWorkstations FROM 'LDAP://ou=行政部,ou=二级,dc=domain,dc=com' WHERE objectCategory='user'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
strUserWS = objRecordSet.Fields("userWorkstations").Value
strDN = objRecordSet.Fields("distinguishedName").Value
Set objUser = GetObject("LDAP://" & strDN)
If strUserWS <> "" And InStr(strUserWS,strNewComputer) = 0 Then
strTemp = strUserWS & "," & strNewComputer
objUser.Put "userWorkstations",strTemp
objUser.SetInfo
End If
objRecordSet.MoveNext
Loop
把上述脚本保存为add.vbs ,以域管理员权限在域服务器上执行即可。
2、批量删除,如撤销上述操作:
strNewComputer = "testpc"
Const ADS_SCOPE_SUBTREE = 2
Const ADS_PROPERTY_UPDATE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
"SELECT distinguishedName,userWorkstations FROM 'LDAP://ou=行政部,ou=二级,dc=domain,dc=com' WHERE objectCategory='user'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
strUserWS = objRecordSet.Fields("userWorkstations").Value
strDN = objRecordSet.Fields("distinguishedName").Value
Set objUser = GetObject("LDAP://" & strDN)
If InStr(strUserWS,strNewComputer) <> 0 Then
strTemp = Replace(strUserWS,"," & strNewComputer,"")
objUser.Put "userWorkstations",strTemp
objUser.SetInfo
End If
objRecordSet.MoveNext
Loop
把上述脚本保存为delete.vbs ,以域管理员权限在域服务器上执行即可。
注:1、红色字体为根据用户实际环境修改;
2、上述操作不影响原来已经添加有的计算机;
3、由于实际环境的差异,请测试后再在生产环境下使用!
本文出自 “MG05 學習筆記~” 博客,请务必保留此出处http://pimg2005.blog.51cto.com/842469/1059737
相关文章推荐
- Linux组和用户的管理、禁止普通帐号登录、批量添加用户、给普通用户赋权
- 1.5.2 添加一个用户lidao指定uid为888 禁止用户登录系统 不创建家目录
- 用户管理(一):使用shell脚本批量添加指定数量的用户
- 活动目录之组策略管理用户
- IIS管理器里添加虚拟目录,提示: “/”应用程序中的服务器错误。用户 'NT AUTHORITY\IUSR' 登录失败
- 活动目录大批量用户快速导入及误删除快速恢复
- 批量添加删除指定数量的用户
- Windows Server 2012活动目录基础配置与应用(新手教程)之4---域用户的基本管理
- 为VSFTP用户指定登录后的目录
- UNIX文件目录管理基本命令之who登录当前系统用户信息
- 【课堂笔记4】Windows Server 2012通过计算机管理添加用户和组
- active directory 活动目录下所用用户无法登陆怎么才能登录
- 如何限制用户只能登陆域|活动目录域策略拒绝本地登陆/登录
- 学习在活动目录中一次同时添加多个用户帐户
- 无法打开windows 2008活动目录用户和计算机控制台
- Linux服务器权限管理实践——添加用户只访问某些文件目录
- 远程管理活动目录计算机的服务或端口
- 批量添加顺序用户(如果要添加指定文件里的用户,稍作修改即可)
- 用户目录权限管理.手动添加用户.截取用户信息