程式碼批量新增ACL管理員許可權
1 代理
Sub Initialize
On Error Goto ErrHandler
Dim sView As NotesView
Dim sDoc As NotesDocument
Set s = New NotesSession
Set db = s.CurrentDatabase
Dim isExist As String
'Dim Level As Integer
Dim admin(0 To 0) As String'需要新增的帳號資訊
admin(0) = "CN=With Wang/OU=CN/O=CMINL" ' "With Wang/CN/CMINL"
'需要新增管理員許可權的系統View
Set ApList = db.getView("Vw_ApList")
Set Ap = ApList.GetFirstDocument
While Not(Ap Is Nothing)
If Ap.ServerIp(0) = "10.189.128.3" Then
Set refreshDB = s.GetDatabase(Ap.ServerIp(0),Ap.ApPath(0))
Call refreshDB.sign(DBSIGN_DOC_ALL)
Set acl = refreshDB.ACL
stringArray = acl.roles
Print "Ap:name" & Ap.ServerName(0)
'Level = refreshDB.QueryAccess(session.UserName)
If refreshDB.QueryAccess(s.UserName) <> 6 Then
Print "您不是系統管理員,無權執行此程式!!!!"
'Call SendToMail(Ap.ServerName(0)&"您不是系統管理員,無權執行此程式!!!!")
'Exit Sub
'Set Ap = ApList.GetNextDocument(Ap)
Goto ErrHandler
End If
For j = 0 To Ubound(admin)
Print "admin" & admin(j)
isExist ="N"
Set entry = acl.GetFirstEntry
While Not(entry Is Nothing)
'只更新 Person
If entry.IsPerson And Not(entry.IsGroup) Then
Print entry.Name
'檢查帳號是否存在
If Ucase(entry.Name) = Ucase(admin(j)) Then
isExist ="Y"
End If
End If
Set entry = acl.GetNextEntry(entry)
Wend
If isExist <>"Y" Then
'在ACL中新增新條目:
Set acl = refreshDB.ACL
'這個例子中,我們新增管理員 With Wang/CN/CMINL
Set nEntry = acl.CreateACLEntry(admin(j), 6 )
nEntry.CanDeleteDocuments=True
nEntry.IsPerson=True
'取決於要分配的許可權,您可以包含下列可選屬性
nEntry.CanCreateSharedFolder=True
nEntry.CanCreatePersonalFolder=True
nEntry.CanCreatePersonalAgent=True
nEntry.CanCreateLSOrJavaAgent=True
For i=0 To Ubound(stringArray)
Call nEntry.EnableRole(stringArray(i))
Next
End If
Next
'儲存對ACL的更改
Call acl.Save
Ap.sflag = "Y"
Call Ap.Save(True,True)
End If
Goto ErrHandler
ErrHandler:
Set Ap = ApList.GetNextDocument(Ap)
Wend
Msgbox("OK")
Call SendToMail("OK")
'Msgbox("Error")
'Print "Error"
'Call SendMail("Error")
End Sub
2 SendToMail:
Sub SendToMail(subject As String)
Dim s As New Notessession
Dim maildb As Notesdatabase
Dim db As notesdatabase
Set db=s.CurrentDatabase
Set maildb=s.currentdatabase
Dim maildoc As notesdocument
Set maildoc = New notesdocument(maildb)
Dim rtitem As notesrichtextitem
Set rtitem = New notesrichtextitem(maildoc,"Body")
maildoc.Form. = "memo"
maildoc.Subject = subject
maildoc.cFrom = db.server+"Notes伺服器"
maildoc.From = db.server
maildoc.SendTo = "With Wang/CN/CMINL"
'Call rtitem.AppendDocLink(Doc, doc.FormTitle(0))
Call maildoc.send(False)
End Sub
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24998103/viewspace-700377/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux-許可權管理(ACL許可權)Linux
- .NET 程式許可權控制、獲得管理員許可權程式碼
- 程式請求管理員許可權
- 許可權模型:ACL模型
- Linux ACL 許可權Linux
- 【Git】程式碼許可權&分支管理Git
- windows7管理員許可權Windows
- win10管理員許可權怎麼取消_win10如何關掉管理員許可權Win10
- w10如何獲得管理員許可權_win10怎麼取得管理員許可權Win10
- 如何獲取最高管理員許可權 win10教育版最高管理員許可權Win10
- nodejs的使用者許可權管理——acl.mdNodeJS
- Confluence6對比系統管理員許可權和Confluence管理員許可權
- [LotusScript] 重新整理一般人員的ACL許可權
- 如何讓QT程式以管理員許可權執行(UAC)QT
- win10管理員許可權怎麼獲取 win10管理員許可權獲取的方法Win10
- 取消 root 級管理員的 root 許可權
- win10 管理員許可權授權怎麼關掉 win10電腦管理員許可權怎麼解除Win10
- win10管理員許可權不足怎麼設定_win10管理員許可權不足如何解決Win10
- win10怎麼獲得管理員許可權_win10獲取管理員許可權的步驟Win10
- 資料夾刪不掉需要管理員許可權怎麼辦 刪除需要管理員許可權的辦法
- win10許可權管理解除方法 win10怎麼解除管理員許可權Win10
- 使用Java API操作zookeeper的acl許可權JavaAPI
- Linux ACL 許可權之進階篇Linux
- Linux 筆記分享九:ACL 許可權Linux筆記
- jenkins原理篇——成員許可權管理Jenkins
- ClearCase中批量重置許可權命令
- win10取得管理員許可權怎麼獲取 win10計算機管理員許可權獲得方法Win10計算機
- windows10管理員許可權怎麼設定_win10電腦設定管理員許可權的步驟WindowsWin10
- 為什麼win10沒有管理員許可權_win10沒有管理員許可權的解決方法Win10
- win10獲得電腦管理員許可權怎麼操作 win10怎樣獲得管理員許可權Win10
- win10系統如何開啟管理員許可權 win10開啟管理員許可權的圖文教程Win10
- 掠奪許可權:Serv-U得到管理員密碼新招(轉)密碼
- PingCode Wiki 許可權設計之ACLGC
- jCasbin: 強大的訪問控制、許可權管理框架,支援 ACL, RBAC, ABAC框架
- PyCasbin: 支援 ACL、RBAC、ABAC 多種模型的 Python 許可權管理框架模型Python框架
- PHP -Casbin: 支援 ACL、RBAC、ABAC 多種模型的 PHP 許可權管理框架PHP模型框架
- PostgreSQL:許可權管理SQL
- Mysql——許可權管理MySql