加入收藏 | 设为首页 | Life家族 | SCMLife | RMLife | PMLife | SQALife | TESTLife | 企业VIP专区 | 中文化荣誉殿堂

查看完整版本: 如何利用脚本等工具自动同步域用户(ldap认证)到cq中!

听雨屋檐人 2008-1-4 10:39

如何利用脚本等工具自动同步域用户(ldap认证)到cq中!

如何利用脚本等工具自动同步域用户(ldap认证)到cq中?

st_simon 2008-1-4 17:18

我也在关注这个,想知道好的解决办法

二黑 2008-1-4 18:42

确实是个好的想法,支持,提个思路
用脚本执行net user /domain得到域内所有用户
剩下的用adminsession一个一个加就成了,过滤掉已经有的

yunshan 2008-1-5 14:54

随便写了一个,给你参考一下,没有经过调试:Function SyncDomainUsers(strDomain)
Dim objDom
Dim adminSession
Dim sessionObj
Dim queryObj
Dim resultObj
Dim flag
flag = 0

On Error Resume Next
Err.Clear

' Get Session object
Set sessionObj = GetSession

' Create and login adminSession
set adminSession = CreateObject("ClearQuest.AdminSession")
adminSession.Logon "admin", "admin", ""

' Query all users
Set queryObj = sessionObj.BuildQuery("users")
queryObj.BuildField ("login_name")


' Query all domain users
Set objDom = GetObject("WinNT://" & strDomain )
objDom.Filter = Array("Users")
For Each objUser In objDom
Set resultObj = sessionObj.BuildResultSet(queryObj)
resultObj.Execute
Do While resultObj.MoveNext = AD_SUCCESS
If StrComp(resultObj.GetColumnValue(1), objUser.Name) = 0 Then
flag = 1
Exit Do
End If
Loop
If flag = 0 Then
set newUserObj = adminSession.CreateUser (objUser.Name)
newUserObj.Active = 1
newUserObj.AppBuilder = 0
' Set user password same as username
newUserObj.Password = objUser.Name
End If
Next

If Err.Number = 0 Then
SyncDomainUsers = ""
Else
SyncDomainUsers = Err.Description
End If
End Function
调用起来很简单,如下:
Dim rsCall
rsCall = SyncDomainUsers
If rsCall = ""
MsgBox "Sycronize CQ Users with Domain users Successfully!"
Else
MsgBox rsCall
End If

[[i] 本帖最后由 yunshan 于 2008-1-8 16:13 编辑 [/i]]

听雨屋檐人 2008-1-5 16:06

谢谢yunshan
我去实验下!
页: [1]
查看完整版本: 如何利用脚本等工具自动同步域用户(ldap认证)到cq中!