Domino 9 und frühere Versionen > Entwicklung
Im Delegierungsprofil per LS eine Gruppe hinzufügen
ata:
... ich werde mich der Sache mal annehmen, allerdings wird das heute nichts mehr, denn ich muß mich noch auf ein Konzert vorbereiten - vielleicht am WE...
ata
cococo69:
... wäre bombastisch, wenn das am WE klappen würde, ansonsten muss ich am Montag an ca. 400 Mitarbeiter eine Mail mit Anleitung für die manuelle Pflege senden.
ata:
... wenn, dann am Sonntag...
ata
ata:
... hier wäre die Version mit der Schaltfläche in einer Mail. Der User benötigt Managerrechte in seiner Mail-DB...
--- Code: --- Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim docMail As NotesDocument
Dim acl As NotesACL
Dim entry As NotesACLEntry
Dim sGroupName As String
Dim sReturnMailAddress As String
Dim sThankYou As String
sGroupName = "DeineKalenderGruppe"
sReturnMailAddress = "info@anton-tauscher.de"
sThankYou = "Vielen Dank. Der Vorgang wurde erfolgreich abgeschlossen. Dieses Dokument wird geschlossen."
Set db = session.CurrentDatabase
Set acl = db.ACL
' # Gibt es die Gruppe bereits in der ACL?
Set entry = acl.getEntry( sGroupName )
If Not entry Is Nothing Then
Set docMail = db.CreateDocument
docMail.Form = "memo"
docMail.Subject = |ACHTUNG: User "| + session.UserName + |" hatte die Gruppe "|+sGroupName+|" bereits eingetragen.|
Call docMail.Send( False , sReturnMailAddress)
Msgbox |Die Gruppe "|+sGroupName+|" gibt es bereits... | , 0 , "ACL-Prüfung"
Exit Sub
End If
' # Die Gruppe eintragen mit den erforderlichen Rechten...
Set entry = acl.CreateACLEntry(sGroupName , 0)
entry.IsPublicReader = True
entry.IsPublicWriter = True
Call acl.Save
' # Jetzt zur Sicherheit noch das Profildokument updaten...
Set doc = db.GetProfileDocument("CalendarProfile")
Set uidoc = ws.EditDocument(True , doc)
Call uidoc.Save
Call uidoc.Close
Set docMail = db.CreateDocument
docMail.Form = "memo"
docMail.Subject = |User: "| + session.UserName + |" hat die Gruppe "|+sGroupName+|" eingetragen.|
Call docMail.Send( False , sReturnMailAddress )
Msgbox sThankYou
ws.CurrentDocument.Close
--- Ende Code ---
... den Code in eine Schaltfläche und per Mail an alle betroffenen User versenden...
... es gibt noch die Möglichkeit, den Code in einen Agent einzubauen, der dann auf dem Server gestartet werden muß. ACHTUNG: der Agent muß mit einer ID unterzeichnet werden, die berechtigt ist Änderungen in den ACL's der Maildatenbanken vorzunehmen.
... so in der Art könnte der Agent aussehen
--- Code: --- Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim docMail As NotesDocument
Dim acl As NotesACL
Dim entry As NotesACLEntry
Dim sGroupName As String
Dim pathName As String, fileName As String
sGroupName = "DeineKalenderGruppe"
pathName = "D:\Server5\Lotus\Domino\Data\Mail\*.*"
fileName = Dir$(pathName, 0)
Do While fileName <> ""
Msgbox fileName
Set db = session.GetDataBase("Celerona/Celerona" , "Mail\"+fileName)
If db.Isopen Then
Set acl = db.ACL
' # Gibt es die Gruppe bereits in der ACL?
Set entry = acl.getEntry( sGroupName )
If Not entry Is Nothing Then
Msgbox |Die Gruppe "|+sGroupName+|" gibt es bereits... | , 0 , "ACL-Prüfung"
Exit Sub
End If
' # Die Grupe eintragen mit den erforderlichen Rechten...
Set entry = acl.CreateACLEntry(sGroupName , 0)
entry.IsPublicReader = True
entry.IsPublicWriter = True
Call acl.Save
' # Jetzt zur Sicherheit noch das Profildokument updaten...
Set doc = db.GetProfileDocument("CalendarProfile")
Set uidoc = ws.EditDocument(True , doc)
Call uidoc.Save
Call uidoc.Close
End If
fileName = Dir$()
Loop
Print "Agent abgeschlossen"
--- Ende Code ---
ata
cococo69:
Hallo ata,
hast Du es doch tatsächlich war gemacht in Sonntagsarbeit mir nicht nur eine sondern gleich zwei Lösungen zu zaubern.....!!!!!!
Ich kann Dir gar nicht sagen, wie dankbar ich Dir bin! Natürlich werde ich es gleich morgen früh ausprobieren und Dich dann wieder informieren.
Bis dahin noch einen schönen Sonntag und nochmal viiiiiieeeeelen Dank!!!!!!!!!!!!!!!!!!!!!
Gruß
Armin
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln