加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

批量修改用户密码

发布时间:2020-12-16 23:27:47 所属栏目:大数据 来源:网络整理
导读:一个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 objC

一个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 "222221"
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不熟呀

---

我吃过这个亏,慎用。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读