Tuesday, December 4, 2012

Einen Notesagenten aus einem cmd script starten.

Im atnotes Forum wurde die Frage gestellt, wie man einen Notes agent aus einem cmd Befehlszeilenscript aufrufen kann. Über Befehlszeile oder über eine URL ist das relativ schwierig, da aber Lotus Notes sein API über COM anbietet ist es ein leichtes dass in einem vbscript zu implementieren. Dieses vbscript kann dann aus dem cmd script aufgerufen werden.

Dim s
Dim db
Dim agent
Set s=CreateObject("Lotus.NotesSession")
Call s.Initialize
Set db=s.GetDatabase("servername","db.nsf")
Set agent=db.GetAgent("agent")
Call agent.Run
servername, db.nsf und agent müssen natürlich angepasst werden.

4 comments:

  1. Wieso über eine notes-URL ist das doch ganz einfach:
    notes://servername/db-pfad.nsf/AgentenName?OpenAgent

    ReplyDelete
  2. Wenn ich es über eine Notesurl aufrufe bekomme ich die Meldung "Operation z.Z. nicht erlaubt" Im atnotes Forum sind die Kollegen auf das selbe Problem gestossen.

    ReplyDelete
  3. Wie ist das mit der Authentifizierung? über http muss man wohl authentifiziert sein, ausser irgendeine Form von SSO ist implementiert.. über den VB Aufruf hab ichs noch nie versucht..

    ReplyDelete
  4. Bei jedem Zugriff über COM muss natürlich ein lokaler Client installiert sein. Das heißt er benutzt die ID deines Notes clients für die Authentifizierung.

    In dem Fall ging es eigentlich darum in einer Fremddatenbank dessen Design versteckt ist einen Agent am Client aufzurufen. Dies funktioniert meines Wissens nach nur über diese Lösung. Bin aber natürlich gerne für andere Lösungsvorschläge offen.

    ReplyDelete

ad