批量修改用户密码

一个MVP写的vb代码

const ADS_SCOPE_SUBTREE=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") = 200
   objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
   objCommand.CommandText = "SELECT adspath,name FROM 'LDAP://dc=shenma,dc=local' WHERE objectCategory='user' "

Set objRec = objCommand.Execute

   if objRec.BOF OR objRec.EOF then  
    wscript.echo "不存在"
   else
    FOR i = 1 to objRec.RecordCount
     UserPATH = objRec.Fields("adsPath").Value   
     set obj = GetObject(UserPATH)
     obj.setpassword "111111"
     obj.setinfo
     wscript.echo objRec.Fields("name").Value
     objRec.MoveNext
    Next
    wscript.echo objRec.RecordCount&"个用户成功!"
   end if

-------------------------------------

需要点N次确定,很郁闷。

下面这个:

 

' Example VBScript to change a user's password
' ---------------------------------------------------------'
Option Explicit
Dim objOU, objUser, objRootDSE
Dim strContainer, strDNSDomain, strPassword
Dim intCounter, intAccValue, intPwdValue

' --------------------------------------------------------'
' Note: Please change OU=zjsystem, to reflect your domain
' --------------------------------------------------------'
strContainer = "OU=zjsystem, "
strPassword = "888888"
intAccValue = 544
intPwdValue = 0
intCounter = 0
' -------------------------------------------------------'
' Makes the user change H0l1d@y$ password at first logon
' -------------------------------------------------------'

Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("DefaultNamingContext")
strContainer = strContainer & strDNSDomain
set objOU =GetObject("LDAP://" & strContainer )

For each objUser in objOU
If objUser.class="user" then
objUser.SetPassword strPassword
objUser.SetInfo
objUser.Put "pwdLastSet", intPwdValue
objUser.SetInfo

objUser.Put "userAccountControl", intAccValue
objUser.SetInfo
intCounter = intCounter +1
End if
next

WScript.Echo strPassword & " is Password. UserAccountValue = " _
& intAccValue & vbCr & intCounter & " accounts changed"
WScript.Quit

' End of change password example VBScript
--------------

在测试机上通过了,在真实环境没有通过。不知道怎么回事,唉,对VB不熟呀

---

我吃过这个亏,慎用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值