Email Database Acl To Yourself

For those with anything less than manager access to a database, and that
database Access Control List is too large (and thus won't scroll down for such
non-managers),
this code may be useful.

Just change the server and database file name in the first line of code to the
server & database you want to grab the ACL info from.
Dim db As New NotesDatabase( "NOTES-APPS-KC01P", "accserv\ascal.nsf" )
Dim acl As NotesACL,session As New notessession
Dim entry As NotesACLEntry,myLevel As String,t1 As Integer,myFile As String
Set acl = db.ACL
myFile = "C:\myACL.txt"
Open myFile For Output As #1
Set entry = acl.GetFirstEntry
Do Until entry Is Nothing
t1 = entry.level
If t1=6 Then myLevel = "Manager"
If t1=5 Then myLevel="Designer"
If t1=4 Then myLevel="Editor"
If t1=3 Then myLevel = "Author"
If t1=2 Then myLevel = "Reader"
If t1=1 Then myLevel = "Depositor"
If t1=0 Then myLevel = "No Access"
Print #1,entry.name;Tab(50);myLevel
Forall y In entry.roles
If y = "" Then
Else
Print #1," . . . role: " & y
End If
End Forall
Set entry = acl.GetNextEntry(entry)
Print #1," "
Print
#1,"----------------------------------------------------------------------------
-----------------------"
Print #1," "
Loop
Close #1
Print "File written to " & myFile

REM Compose the Email document and attach the file, save & send
Set doc = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( doc, "Body" )
Dim recipients( 1 To 3 ) As String
recipients(1) = session.CommonUserName
MessageSubject = "ACL List"
MessageBody = "Here is the file attachment for an ACL you queried. Right
click the file and then click "+Chr$(34)+ "Launch" + Chr$(34) + " to view."
doc.Body = MessageBody
Set object = rtitem.EmbedObject (EMBED_ATTACHMENT,"",myFile,"Attachment1")
doc.Form = "Main Topic"
doc.Subject = MessageSubject
Call doc.Send( True, recipients )
Call doc.Save(True,True)
Print "message sent!"
Messagebox "Email Sent!",0,"Email Sent!"
REM Now Delete the temp file
Kill MyFile
Print "Temp file: " +MyFile + " has been deleted."

This was first published in November 2000

Dig Deeper

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchWindowsServer

Search400

  • iSeries tutorials

    Search400.com's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...

SearchEnterpriseLinux

SearchDataCenter

SearchExchange

SearchContentManagement

Close