Das Notes Forum
Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: Pascal am 21.05.02 - 16:13:29
-
gibt es eine Möglichkeit im Adressbuch, ich möchte eine Gruppe anzeigen mit allen Unter und Unteruntergruppen, also die ganze Verschachtelung.
Kennt da jemand ein Tool oder einen Agenten?
vielen Dank
Pascal
-
hab da was ähnliches bei mir ausgegraben....
das script untersucht ob sich der übergebene user in gruppen befindet die den übergebenen string zumindest zum teil enthalten - müßtest du halt anpassen
Function CheckGroup4User(group As String, user As String)
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim vw As NotesView
Dim i As Integer, it As Integer
Dim Members As Variant
Dim docName As String
Set db = New NotesDatabase(CurrentServer(), "NAMES.nsf")
Set vw = db.getview("Groups")
it = 0
Set doc = vw.GetDocumentByKey(group, True)
If doc Is Nothing Then
CheckUser4Group = 0
Exit Function
End If
' Messagebox("In Gruppe: " + doc.ColumnValues(1) + ", Name: " + user)
members = doc.GetItemValue("Members")
For i = 0 To Ubound(members)
' Messagebox("Member: " + members(i))
If Strcompare(members(i), user, 5) = 0Then
it = 1
Elseif Strcompare(Right(members(i), 3), "=AT", 5) <> 0 Then
it = CheckGroup4User(members(i), user)
End If
If it <> 0 Then Exit For
Next i
CheckGroup4User = it
End Function
Function CheckGroupMembers4(groups As String)
Dim db As NotesDatabase
Dim session As New NotesSession
Dim doc As NotesDocument
Dim vw As NotesView
Dim it As Integer
Dim Members As Variant
Dim UName As String, docName As String
Dim NName As New NotesName(session.UserName)
Set db = New NotesDatabase(CurrentServer(), "NAMES.nsf")
Set vw = db.getview("Groups")
Call vw.FTSearch("FIELD ListName CONTAINS """ + groups + """")
it = 0
UName = NName.Canonical
Set doc = vw.GetFirstDocument
' Messagebox("Name: " + UName)
Do While Not (doc Is Nothing)
If doc.GroupType(0)="0" Then
docName = doc.ColumnValues(1)
' Messagebox ("findet:"+docName)
it = CheckGroup4User(docName, UName)
If it Then Exit Do
End If
Set doc = vw.GetNextDocument(doc)
Loop
CheckGroupMembers4 = it
End Function
Function CurrentServer() As String
Dim workspace As New NotesUIWorkspace
Dim dbui As NotesUIDatabase
Dim db As NotesDatabase
Set dbui = workspace.CurrentDatabase
Set db = dbui.DataBase
CurrentServer = db.Server
End Function
-
Möchtest du die Gruppe auf Userebene aufdröseln, also eine Liste der User erhalten, die in dieser Gruppe und den in der Gruppe enthaltenen Gruppen Mitglied sind ??
eknori
-
Hallo zusammen,
vielen Dank für eure Mühe, den Code habe ich noch nicht getestet, trotzdem vielen Dank.
Was ich gerne möchte ist ein Tool oder Agent im NAB wo ich einen Gruppen-Namen eingeben kann und dann wird die Gruppe aufgelöst wie ein Baum-Diagramm oder so
Gruss
Pascal
-
Hab mal ein bisschen rumgefummelt und zumindest schon mal einen Ansatz
@Unique(@Name([CN];@DbLookup("";@Subset(@DbName;1) : "Names.nsf"; "Groups"; >DeinFeld>;"Members")))
Ich habe die Formel in die Eingabeumsetzung eines Auswahlfeldes gepackt Wird in dieses Feld eine Gruppe eingetragen und drückt man F9 wird die Gruppe aufgelöst und alle Mitglieder dieser gruppe angezeigt.
-
öhm, Ulrich, das ist mir ein bisserl zu hoch, kannst Du mir das ev, ::) für die langsameren etwas genauer erklären ::)
Vielen Dank
Pascal
-
Also,
ich habe in einem Dokument ein Feld, Typ Dialogliste, Mehrfachwerte zulassen.
Als Quelle für den Dialog habe ich "Adressdialog für Auswahl verwenden" eingestellt.
Die Formel habe ich in die "Eingabeumsetzung" des Feldes eingetragen; dabei muß <DeinFeld> durch den richtigen Feldnamen ersetzt werden.
Wenn du jetzt ein neues Dokument erstells und in dieses Feld über den Adressdialog einen Gruppennamen auswählst, wird beim Aktualisieren des Docs mit F9 der Gruppenname in eine Liste der Members der Gruppe aufgelöst.
Zu schnell ?? ;D
eknori
-
weisst Du Ulrich, ich komm nicht klar, ein neues Dokument, hmm, wo, ein neues Feld , wo, bitte bitte , ganz langsam für einen oberdumi ::)
Gruss und Danke
Pascal
-
Hallo Pascal,
das wird schon. ;)
Das Feld ist z. B. in einer Maske. An diese Maske kommst Du über den Designer heran.
dann gehst Du vor wie Ulrich beschrieben hat.
Über die Eigenschaften des Feldes kannst Du die Einstellungen des Feldes auswählen. Im unteren Bereich des Designers kannst Du z.B. Vorgabewerte, Eingabevaledierung und vieles mehr bestimmen.
Gruss
Bubble ;)
-
ich danke euch allen, ich glaube ich erkläre mich nicht genau.
Ich bin im NAB, in der View Gruppen, nun möchte ich eine Gruppe anwählen oder über einen Button eine Abnfrage erhalten in die ich den Gruppen-Namen eingebe und danch wird die Gruppe aufgelöst.
Ich glaube jetzt wirds besser
Gruss und Dank
Pascal
-
Richtig, aber auch dieser Button muss erst programmiert werden.
Und das ist nicht so einfach.
Nehmen wir einmal an, deine Gruppe sieht so aus
User
User
User
...
Gruppe1
Gruppe2
dann musst du ja diese Gruppe aufdröseln in "Liste der User" und "Liste der Gruppen" Die Liste der Gruppen musst du dann wieder Eintrag für Eintag durchgehen und jeden Gruppeneintrag wieder auflösen, wobei jeder dieser Einträge wieder einen gruppe enthalten kann.
Zum Schluss hast du dann eine Liste ausschlisslich mit Usernamen. Hier musst du dann nur noch die doppelten Einträge eliminieren und erhälst eine endgültige Liste.
Also ich habe hier ganz arge Bedenken bezgl,. der Performance.
Frage: Aus welchem grund willst du so vorgehen; möglicherweise kommst du auf einem anderen Weg auch zu dem gewünschten Ergebnis. ??
Schreib einfach mal den Sinn und Zweck
eknori
-
Ich sehe das Problem, es geht um folgendes:
Ich habe eine Gruppe, in dieser Gruppe hat wiederum Gruppen und User, nun möchte ich diese "Untergruppe" wiederum auflösen um zu sehen ob wieder Gruppen sind, und so weiter.
Wir haben manchmal Probleme mit der Verschachtelun und da wir hier eine bestehende Notes Umgebung am aufräumen sind, bin ich um jede "automatisierung" dankbar.
Wir haben teilweise user in Gruppen, die in Gruppen eingetragen und als User auch noch und das wollen wir aufräumen.
Gruss
Pascal
-
::)
-
Ich suche gerade ein bisschen; damit du nicht ganz so traurig schaust, habe ich hier schon mal eine Link
http://www.helpsoft.com
Die Powertool können das , was du möchtest. Du kannst dir eine testversion runterladen. Normalerweise stehen da alle Funktionen zur Verfügung, allerdings mit irgendwelchen kleinen Einschränkungen.
Ich such mal weiter
eknori
-
Hab hier noch ein recht vielversprechendes Script gefunden
http://searchdomino.techtarget.com/tip/1,289483,sid4_gci490426,00.html
eknori
-
Tag,
da das Thema auch bei mir grade aktuell geworden ist, wollte ich mal nachfragen ob sich noch andere alternativen aufgetan haben.
denn die powertools sind ja schonmal ganz gut, aber auch recht teuer.
die scripte von eknori haben leider nicht den erfolg gebracht den ich gerne hätte.
ich habe aber das gleiche problem wie der threadstarter: viele gruppen mit gruppen mit gruppen mit gruppen.....
ich will es auch bis auf die userebene aufdröseln. kennt da einer vieleicht was kostengünstigeres? oder n kurzes script?
danke schonmal
//bocki
-
Wenn Dir die 400$ zu teuer sind :-:
Ich nutze die Tools schon seit Jahren. Die 400$ habe ich schon längst wieder reinbekommen.
Schon mal an ein Upgrade gedacht?
Da gibt es zum einen neue Ansichten im NAB und zum 2. kann man über den Admin Client die verschachtelten Gruppen auflösen....
-
Am einfachsten ist es doch, auf Notes 6 / 7 zu migrieren. Denn dann gibts @UserNamesList
Andreas
-
UserNamesList gab es doch auch schon vorher, nur mit einem Evaluate davor ;D
Aber abgesehen davon: Begehr des Fragestellers ist aber doch ein ganz anderes - die Auflösung von Gruppen mit ALL ihren Mitgliedern. UserNamesList ist da nicht hilfreich.
@"bocki": Die Sache ist doch ganz einfach - selber programmieren (wenn man fit ist, braucht das nicht lange), ansonsten kommt man mit etwas über EUR 300 doch wirklich sehr günstig weg.
Bernhard
-
Um alle User aufzulisten gibt's @expandnamelist .. leider nicht dokumentiert und nicht supportet (supported??!) deswegen vielleicht nicht empfehlenswert in produktiv DBs einzusetzen aber zu Gruppenpflege hilfreich.
Und noch einen kleinen Schönheitsfehler gibt es, die Funktion löst auch verschachtelte Gruppen korrekt auf aber wer in welche untergruppe wie zur Mitgliedschaft einer Gruppe gekommen ist wird nicht mitgegeben.
mfG KAI