Domino 9 und frühere Versionen > ND6: Administration & Userprobleme

OoO-Agenten Laufzeiten anzeigen lassen???

(1/4) > >>

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