2017-08-01 48 views
0

我試圖從中新創建蓮花腳本獲取註冊使用OU和O?

TestUser1.id

問題的用戶ID獲得OU和O:我想獲得新的寄存器ID的完整路徑。

1)沒有登錄到那個帳戶返回用戶ID信息?

完整路徑= CN = TestUser1/OU =軟件/ O =個

Sub Initialize 
    Dim session As New NotesSession 
    Dim adminp As NotesAdministrationProcess 
    Set adminp = _ 
    session.CreateAdministrationProcess(mailsvr) 
    noteid$ = adminp.SetUserPasswordSettings(_ 
    "CN=TestUsesr1/OU=Software/O=pcs", PWD_CHK_LOCKOUT, 0, 0, True) 
    If noteid$<> "" Then 
    Dim db As New NotesDatabase(mailsvr, "admin4.nsf") 
    Dim ws As New NotesUIWorkspace 
    Call ws.EditDocument(False, db.GetDocumentByID(noteid$)) 
    End If 
End Sub 

其實我真正想要做的是強制用戶第一次登錄的賬號,迫使用戶改變他/她HTTP密碼

我不確定這是正確的方式來做或不是爲一個新的創建的ID?

以下鏈接與此主題相關:

force notes user to change password/internet password on next login using lotus script

回答

1

由於已經部分地回答了你的鏈接的問題迫使用戶改變自己的上網密碼是很容易:

  • 獲得用戶的文檔from server names.nsf
  • 將字段HTTPPasswordForceChange設置爲「1」

下面是一些示例代碼(沒有錯誤處理,未檢查語法)。 從文檔您adminp-例子應該工作一樣好,但它會閉鎖用戶,而不是讓他登錄,如果將服務器配置等以檢查密碼...

Dim db as NotesDatabase 
Dim viwUser as NotesView 
Dim docUser as NotesDocument 
Set db = New NotesDatabase(yourServer, "names.nsf") 
Set viwUser = db.GetView("($Users)") 
Set docUser = viwUser.GetDocumentByKey("CN=TestUsesr1/OU=Software/O=pcs") 
Call docUser.ReplaceItemValue("HTTPPasswordForceChange" , "1") 
Call docUser.Save(True, True, True) 
+0

感謝,我浪費了那麼多天尋找註冊和管理流程的解決方案......誰知道只需要修改地址簿。已經可以。非常感謝〜 –