Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Lotusscript and ACL calss

75 views
Skip to first unread message

Kerry Kilpatrick

unread,
Dec 17, 1998, 3:00:00 AM12/17/98
to
I have the attached scipt which I am running as a manual agent. I am
trying to report on ACL entries on all data bases on a server. The
problem I am having is that in the majority of cases nothing is returned
by "Set acl = DB.Acl". I have run debug on ite script and that has not
helped. It open the db successfully but Nothing is returned on the set
acl". The db that have returned ACL lists seem to have been created by
Lotus templates, but even that it is consistent. I have a copy of a data
base Local and it returns ACL, but the server entry does not.

Any ideas please

Thanks Kerry

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sub Initialize
Dim db As NotesDatabase
Dim acl As NotesAcl
Dim Tabspace, CR, level, path, server,sfilepath As String
Dim outputfile As Integer
CR = Chr(10) & Chr(13)
outoutfile=Freefile()
path=Inputbox("Enter path for output file: ", "Database ACL
ListFile", "D:\DB_ACL.TXT")
Open path For Output As #1
server=Inputbox("Enter server to search (blank for Local):
","Server", "BNE_NOTES/BNE/Minter_Ellison/AU")

On Error 4060 Goto errorhandle

If Len(Trim(Server)) > 0 Then
Print #1, "Server Searched: " & server
Else
Print #1, "Server Searched: Local"
End If

Print #1, ""

Dim directory As New NotesDBDirectory( server)
Set db = directory.GetFirstDatabase( DATABASE)
sfilepath = db.FilePath
Call db.Open(server, db.FileName)

While Not (db Is Nothing)
tabspace = Space(90 - Len(Trim(db.Title)))
Print #1, db.Title & tabspace & sFilePath
Print "Processing Data base - ", db.Title
Set acl = db.Acl
If acl Is Nothing Then
Print #1, " No ACL for this data base."
Else
Set ACLEntry = ACL.GetfirstEntry
While Not(ACLEntry Is Nothing)
Select Case ACLEntry.Level
Case ACLLEVEL_NOACCESS : level = "No access"
Case ACLLEVEL_DEPOSITOR : level = "Depositor"
Case ACLLEVEL_READER : level = "Reader"
Case ACLLEVEL_AUTHOR : level = "Author"
Case ACLLEVEL_EDITOR : level = "Editor"
Case ACLLEVEL_DESIGNER : level = "Designer"
Case ACLLEVEL_Manager : level = "Manager"
End Select

tabspace = Space(80 - Len(Trim(ACLEntry.Name)))
Print #1, " ACLEntry: " & ACLEntry.Name &
tabspace & level
Set ACLEntry2 = ACLEntry
Set ACLEntry = acl.GetNextEntry(ACLEntry2)
Wend
End If

Call db.Close()

ResumeIt:
Set db = directory.GetNextDatabase
If Not (db Is Nothing) Then
Print #1, ""
sfilepath = db.filePath
Call db.open(server, db.FileName)
End If
Wend
Close #1
Messagebox "Done."
Goto exitit

Errorhandle:
tabspace = Space(90 - Len(Trim(db.Title)))
Print #1, db.Title & tabspace & sFilePath
Print #1, "You do not have access rights to this data base"
Goto ResumeIT
Exit Sub
Exitit:
End Sub

Joel Michaels

unread,
Dec 18, 1998, 3:00:00 AM12/18/98
to
If you continue to have problems, you might want to try a 3rd party admin
tool called ACL Reporter Updater 2.7 for Lotus Notes from IVE.

Demo Download: http://www.ivesco.com or (516) 380-6018

-Joel

Kerry Kilpatrick wrote in message <36799A...@minters.com.au>...

0 new messages