我怎么做?我正在尝试 NotesAdministrationProcess 但帮助文件中缺少一些示例。搜索网络很困难,因为这些方法很少记录在案。目前我正在使用 RenameNotesUser 重命名用户,但只有当我在服务器上运行“tell adminp process new”时才会发生更改。发送重命名请求后如何自动重命名?
我也没有改变用户的 OU/Department 的运气。我应该使用哪种方法?当前使用 RecertifyUser 但它会弹出一个关于验证者 ID 不是某物的祖先的错误。例如,我想将用户从技术部门移动到销售部门(John/Technical/ACME 到 John/Sales/ACME)。在 Domino Administrator 中使用销售 ID 手动重新认证 John 可以正常工作。我还希望用户的 OU 更改立即生效,而无需告诉 Domino 控制台对其进行处理。
上述 2 个进程不必同时运行,因为用户不能同时更改名称和 OU。下面是我使用的测试代码/代理(如果我想运行重新认证代码,我会注释重命名代码,反之亦然):
Dim s As New NotesSession
Dim db As NotesDatabase
Dim vw As NotesView, doc As NotesDocument
Dim adminp As NotesAdministrationProcess
Dim svr$, path$, cert$, pwd$, staffid$, newlastname$
svr="" 'server1/ACME
path="" 'names.nsf
cert="" 'for rename(C:\tech.id), for recertify(C:\sales.id)
pwd="" 'for rename(tech), for recertify(sales)
staffid="" 'A0001(John's ID)
newlastname="" 'James
Set db=s.Getdatabase(svr, path, False)
Set adminp=s.Createadministrationprocess(svr)
adminp.Certifierfile=cert
adminp.Certifierpassword=pwd
Set vw=db.Getview("People\by Staff Number")
Set doc=vw.Getdocumentbykey(staffid, True)
'for rename. our company only use the last name as name
Call adminp.Renamenotesuser(doc.FullName(0), newlastname)
'for change ou
Call adminp.Recertifyuser(doc.FullName(0))