Domino 9 und frühere Versionen > ND6: Administration & Userprobleme
OoO-Agenten Laufzeiten anzeigen lassen???
Norton:
Liebe @Notes'ler,
wir stellen aktuell die 6er Mailschablone auf die 8er Mailschablone um. Im Prinzip ist das Thema auch rund, wenn die Sache mit den OoO-Agenten nicht wäre.
Situation ist folgende: Wir lesen am Umstellungsdatum mit dem Befehl "tell amgr sched" die aktiven Agenten aus, exportieren die Ausgabe in Excel und holen uns die relevanten Informationen raus um die Abwesenheitsbenachrichtigung (nun als Service) nach erfolgtem Convert neu starten zu können. Um das ganze zu entschlanken, würden wir uns eine Übersicht wünschen, die uns vorher anzeigt, für welchen Zeitraum die Agenten aktiviert sind. Für Notes 5 hatten wir so ein Tool. Leider können wir die Quelle hierfür nicht mehr ausfindig machen und mit 6er Datenbanken funktioniert das nicht mehr.
Hat jemand eine Idee oder kennt ein entsprechendes Tool???
Client und Server Version ist Notes / Domino 8.0.2
Danke und Gruß
Thomas
m3:
Hi!
Du brauchst ja nur einen Agenten, der aus allen Mailfiles die Daten aus dem "OutOfOfficeProfile" Dokument ausliest.
ascabg:
Hallo,
Ihr braucht doch eigentlichblos das entsprechende Profile aus den Mailfiles der Benuter auslesen.
Wenn Ihr diesen kleinen Agenten auch noch manuell startet, kann er die Ausgabe auch gleich noch in eine csv-Datei machen und ihr habt alles was ihr braucht.
Andreas
Norton:
Hallo zusammen,
danke für die Antworten. Mein Problem ist an dieser Stelle, dass unser Entwickler leider derzeit krank ist und das Thema zeitnah abgeschlossen werden muss. Wir haben hier noch ein Script soweit "zusammengebastelt", aber irgendwie passiert bei den ersten Tests nicht viel, außer, dass behauptet wird, dass alles gut gelaufen ist. Ich poste es einfach mal, auch wenn ich dann wohl im Entwickler-Forum besser wäre:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim dbdir As New NotesDbDirectory("ServerName")
'Ueberpruefen der Datenbanken
Print"Ueberpruefen der Out of Office"
Set db = dbdir.GetFirstDatabase(DATABASE)
While Not(db Is Nothing)
If counter = 100 Goto ende
If Left(db.FilePath,4) = "Verzeichnis" Then
Set ProfileDoc=db.GetProfileDocument("OutOfOfficeProfile")
'Schreiben des Report
Print ProfilDoc.GetItemValue("FirstDayOut")(0)
Print ProfilDoc.GetItemValue("FirstDayBack")(0)
Print ProfilDoc.GetItemValue("$TableCurrentStatus")(0)
Print ProfilDoc.GetItemValue("BookBusyTime")(0)
Print ProfilDoc.GetItemValue("CurrentStatus")(0)
Print db.Title
counter = counter + 1
End If
Set db = dbdir.GetNextDatabase
Wend
ende:
'Schlussmeldung
Print "Ueberpruefung beendet"
endmessage% = Messagebox("Serverueberpruefung abgeschlossen. "+Cstr(counter)+" Datenbanken aufgezeichnet.",0+64+0+0,"Template Reporter -Ueberpruefung beendet")
End Sub
So wie ich das sehe, müsste ich doch ein Output im Statusbereich bekommen, in dem die Daten hinterlegt sind. Aber hier sehe ich nichts, was mich weiterbringt.
Jemand eine Idee, wie man das besser machen könnte? Alternativ wäre ein Wunderheiler für unseren Entwickler eine gute Sache ;)
Danke und Gruß
Thomas
Driri:
Was mir direkt aufgefallen ist :
- ProfileDoc ist nicht deklariert.
- Bei den Print-Anweisungen heißt das Objekt dann "ProfilDoc".
Darüber hinaus würde ich mir überlegen, das in eine Textdatei auszugeben. Die Ausgabe ins Log ist doch leicht unübersichtlich.
Ich habs mal schnell zusammengeschrieben, ist allerdings ungetestet und sollte auch noch angepaßt werden (Pfad für Datei, etc.)
--- Code: ---Dim session As New NotesSession
Dim db As NotesDatabase
Dim dbdir As New NotesDbDirectory("ServerName")
Dim ProfileDoc As NotesDocument
Dim counter As Integer, fileNum As Integer
Dim file As String, outStr As String
file = "C:\export.csv"
fileNum = Freefile()
Open file For Output As fileNum
'Ueberpruefen der Datenbanken
Print"Ueberpruefen der Out of Office"
Set db = dbdir.GetFirstDatabase(DATABASE)
While Not(db Is Nothing)
If counter = 100 Goto ende
If Left(db.FilePath,4) = "Verzeichnis" Then
Set ProfileDoc=db.GetProfileDocument("OutOfOfficeProfile")
If Not (ProfileDoc Is Nothing) Then
'Schreiben des Report
outStr = Cstr(ProfileDoc.GetItemValue("FirstDayOut")(0)) & "," & Cstr(ProfileDoc.GetItemValue("FirstDayBack")(0)) &_
"," & Cstr(ProfileDoc.GetItemValue("$TableCurrentStatus")(0)) & "," & Cstr(ProfileDoc.GetItemValue("BookBusyTime")(0)) &_
"," & Cstr(ProfileDoc.GetItemValue("CurrentStatus")(0)) & "," & Cstr(db.Title)
If outStr <> "" Then
Print #fileNum, outStr
End If
counter = counter + 1
End If
End If
Set db = dbdir.GetNextDatabase
Wend
Close fileNum
ende:
'Schlussmeldung
Print "Ueberpruefung beendet"
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln