Lotus notes 使用lotus脚本强制notes用户在下次登录时更改密码/internet密码
实际上,我已经创建了一个代理来创建带有默认密码的用户ID。我想强制用户在下次登录时更改internet密码和Notes ID密码。有没有办法使用LotusScript方法来更改它?或者管理员仍然需要在每个用户配置文件中勾选该函数 这是我创建ID的代理代码Lotus notes 使用lotus脚本强制notes用户在下次登录时更改密码/internet密码,lotus-notes,lotusscript,Lotus Notes,Lotusscript,实际上,我已经创建了一个代理来创建带有默认密码的用户ID。我想强制用户在下次登录时更改internet密码和Notes ID密码。有没有办法使用LotusScript方法来更改它?或者管理员仍然需要在每个用户配置文件中勾选该函数 这是我创建ID的代理代码 Sub Initialize ' this agent use on [register] button locate on [request form] xpages Dim s As New NotesSession,
Sub Initialize
' this agent use on [register] button locate on [request form] xpages
Dim s As New NotesSession, db As NotesDatabase, a As NotesAgent
Dim doc As NotesDocument
Set db = s.Currentdatabase
Set a = s.Currentagent
Set doc = s.Documentcontext ' uidoc
Dim certid As String 'full path of cert id
Dim certpasswd As String
Dim OU As String
Dim lastname As String
Dim firstname As String
Dim middleinit As String
Dim usrIdpath As String
Dim mailsvr As String
Dim mailfile As String
Dim userpasswd As String
Dim internetpath As String
Dim depvw As NotesView, depdoc As NotesDocument
Set depvw = db.Getview("Department sort by dept")
Set depdoc = depvw.Getdocumentbykey(doc.Dept(0), True)
If Not depdoc Is Nothing Then
certid = depdoc.IdPath(0) ' full path of cert id
certpasswd = depdoc.IdPassword(0) ' Cert id password(password)
OU = "" '
lastname= doc.Name(0) ' current document selected mail (person)
firstname = "" ' [din't used]
middleinit = "" ' [din't used]
usrIdpath = depdoc.DptIdStor(0) +doc.SelectMail(0)+ ".id" ' user path
mailsvr = depdoc.MailSvr(0) ' mail svr
mailfile = depdoc.MailLocation(0)+doc.SelectMail(0) ' Mail\Person
userpasswd= depdoc.UserPassword(0) ' User password
internetpath = doc.SelectMail(0)+depdoc.InternetPath(0) ' mail address
End If
Dim reg As New NotesRegistration
Dim dt As Variant
dt = DateNumber(Year(Today)+1, Month(Today), Day(Today))
reg.RegistrationServer = mailsvr '"CN=ServerOne/O=dev"
reg.CreateMailDb = True '
reg.CertifierIDFile = certid '"C:\IBM\Domino\data\office.id"
reg.Expiration = dt
reg.IDType = ID_HIERARCHICAL
reg.MinPasswordLength = 1 ' password strength
reg.IsNorthAmerican = True
reg.OrgUnit = OU ' "" empty ..will just follow certid registration
reg.RegistrationLog = "log.nsf"
reg.UpdateAddressBook = True
reg.StoreIDInAddressBook = True
reg.MailInternetAddress = internetpath
Call reg.RegisterNewUser(lastname, _ ' last name
usridpath, _ '"C:\IBM\Domino\data\ +name+.id" ' file to be created
mailsvr, _ '"CN=ServerOne/O=dev" ' mail server
firstname, _ ' first name
middleInit, _ ' middle initial
certpasswd, _ '"office" ' certifier password
"", _ ' location field
"", _ ' comment field
mailfile, _ '"mail\person.nsf" ' mail file
"", _ ' Forwarding domain
userpasswd, _ '"password", _ ' user password
NOTES_DESKTOP_CLIENT) ' user type
Print "Please wait ...... Registration in progress"
End Sub
问题1:如何在下次登录时强制用户更改notes密码
问题2:如何强制用户在下次登录时更改internet密码
问题3:是否每次创建notes ID时都会自动保存到ID vault?据我所知,ID vault是一个存储所有ID的数据库。如果我错了,请让我知道。谢谢 不确定注册ID保险库,但是对于密码更改,我认为您可以只设置字段
HTTPPasswordForceChange=“1”
?不确定注册ID保险库,但是对于密码更改,我认为您可以只设置字段HTTPPasswordForceChange=“1”
,我在中回答了您的第2个问题
问题1和3密切相关:
首先,在您的域中设置一个ID-Vault。在多米诺骨牌中,这确实是一个必备品。在遵循管理员帮助时,这是一个简单的1-2-3步骤。设置vault后,只要您为通过分层策略分配了vault的认证机构注册用户,该ID就会自动上载到vault
这就是说:我永远不会在地址簿中存储用户ID,因为每个人都可以从那里访问它并假装是那个用户(假设他可以查询您的默认密码/给定密码)
要强制用户在首次登录后更改Notes-密码,我还使用id vault:无论何时使用vault更改用户密码,它都会自动强制用户在下次登录后更改密码:
这是一个简单的单行代码:
Call s.Resetuserpassword( mailsvr, "CN=User/O=dev", userpasswd )
这里最困难的事情是在vault中获得正确的权限(将选项设置为允许代码签名者及其运行代理以编程方式使用vault)我在中回答了您的第2个问题 问题1和3密切相关: 首先,在您的域中设置一个ID-Vault。在多米诺骨牌中,这确实是一个必备品。在遵循管理员帮助时,这是一个简单的1-2-3步骤。设置vault后,只要您为通过分层策略分配了vault的认证机构注册用户,该ID就会自动上载到vault 这就是说:我永远不会在地址簿中存储用户ID,因为每个人都可以从那里访问它并假装是那个用户(假设他可以查询您的默认密码/给定密码) 要强制用户在首次登录后更改Notes-密码,我还使用id vault:无论何时使用vault更改用户密码,它都会自动强制用户在下次登录后更改密码: 这是一个简单的单行代码:
Call s.Resetuserpassword( mailsvr, "CN=User/O=dev", userpasswd )
这里最困难的事情是在vault中获得正确的权限(将选项设置为允许代码签名者及其运行代理以编程方式使用vault)Dim reg As New notes注册reg.HTTPPasswordForceChange没有此功能或需要使用其他类型的过程…我从internet上阅读了一些资料…我需要先访问管理员数据库,然后调用某些notes管理员过程来强制更改密码吗?抱歉,我没有完全阅读您的问题。。。。。。我提到的字段设置在NAB中的person文档上。。。。我不是管理员,但我相信在安全设置文档中有一个密码策略/管理选项卡,您可以在第一次客户端使用时更改密码或类似的内容?。。。我相信那里也会有其他的设置,所以可能值得一看?Dim reg As New notes registration reg.HTTPPasswordForceChange没有此功能或需要使用其他类型的过程…我从internet上阅读了一些资料…我是否需要先访问管理员数据库,然后调用某些notes管理员过程来强制更改密码?抱歉,我没有完全阅读你的问题。。。。。。我提到的字段设置在NAB中的person文档上。。。。我不是管理员,但我相信在安全设置文档中有一个密码策略/管理选项卡,您可以在第一次客户端使用时更改密码或类似的内容?。。。我肯定那里也会有其他设置,所以可能值得一看?实际上我听说我的老板想要ID保险库…类似于存储所有新创建的ID。有一些问题,如果旧ID…我也可以存储到ID保险库吗?如果用户有策略,旧ID将在下次使用时自动上载。实际上,我听说我的老板想要ID vault…类似于存储所有新创建的ID。有一些问题,如果旧ID…我也可以存储到ID vault吗?如果用户有策略,旧ID将在下次使用时自动上载。