Domino 9 und frühere Versionen > ND8: Entwicklung
Wie notes.ini-Parameter von Domino-Server per LotusScript auslesen?
Sascha Seipp:
Moin allerseits,
hab schonmal eine Weile gesucht, aber nix passendes gefunden:
Wie kann ich mit einem auf dem Domino laufenden LotusScript-Agent (meinetwegen auch per Formelsprache, wenn's da besser geht) einen notes.ini-Eintrag auslesen und wegschreiben?
Ich hatte es mit session.GetEnvironmentString("Eintrag") versucht, aber das scheint nur auf dem Notes-Client zu funktionieren.
Hintergrund: ich würde gern möglichst zügig die Installationspfade meiner ca. 60 Domino-Server auslesen und in eine Übersicht zusammenstellen, also die Parameter NotesProgram und Directory. Ich weiß, daß ich die Infos auch mit show config über die Console bekomme, aber dann muß ich mir das ganze ja selber in eine Übersicht zusammenkopieren. Das wäre einmal noch ok, aber wenn ich das Ganze mehrmals laufen lassen wollte (um Änderungen zu verfolgen), werde ich dabei auch rammdösig.
Bin aber auch für alternative Ideen offen!
Danke vorab!
Ciao
Sascha
koehlerbv:
Du kannst per LS mit SendConsoleCommand ein show config * absetzen und den erhaltenen String nach Belieben weiter verwurschten.
HTH,
Bernhard
Sascha Seipp:
Hallo Bernhard,
danke, damit komme ich schonmal deutlich weiter. Hab aber auch noch ein kleines Problem: wenn ich das auf dem Client laufen lasse (was sich ja anbietet, weil ich von hier aus ja an alle Server rankomme) und einer der Server nicht erreichbar ist, bekomme ich eine Client-Fehlermeldung (Server is not responding), was noch nicht schlimm wäre, aber dann bricht der Agent/Code ab. Und ich sehe so keine Möglichkeit, den Fehler abzufangen, weil ich keinen Return value bekomme, der mich da weiterbringt. Oder wo müßte ich den suchen? Evtl. mit irgendeinem OnError-Konstrukt?
Wie ich gerade in der Hilfe sah (ja, da hätte ich auch eher mal schauen können - Asche über mein Haupt), sollte GetEnvironmentString aber auch auf dem Server gehen:
--- Zitat ---If the script runs on a server, this method retrieves the environment variable from the server's notes.ini file, subject to administrative restrictions (see "Restricting agents on servers" in Administration Help or Administering the Domino System).
--- Ende Zitat ---
Aber selbst wenn ich den auf dem Server laufenden Agent mit FullAdmin-Access ausstatte und mit einem User signiere, der FullAdmin ist, bekomme ich trotzdem nur leere Werte zurück.
Ciao
Sascha
Peter Klett:
Du kannst auch mit session.GetEnvironmentString ... periodisch aus der notes.ini des Servers lesen.
Dieser Agent printet bei mir 2
--- Code: ---Sub Initialize
Dim session As New NotesSession
Print session.GetEnvironmentString ("KitType", True)
End Sub
--- Ende Code ---
Zwei Fehler, die Du gemacht haben könntest:
1. das True vergessen, um Ini-Einträge ohne $ auszulesen
2. dem Agenten nicht genügend Rechte gegeben
EDIT: Geöffneter Agent -> Sicherheit -> Sicherheitsstufe zur Laufzeit
Sascha Seipp:
--- Zitat ---1. das True vergessen, um Ini-Einträge ohne $ auszulesen
--- Ende Zitat ---
Hpmf, da hatte ich die Doku gelesen, nur scheinbar nicht richtig: ich dachte, ich brauche True, wenn er an gegebene Parameter auch noch zusätzlich ein $ vor dem Auslesen anhängen soll (was zugegebenermaßen wenig Sinn macht, wenn man so drüber nachdenkt).
Unrestricted access will er auch haben, hatte er aber auch vorher schon.
Jetzt kriege ich auch die Werte aus der Server-notes.ini, danke für die Erleuchtung.
Wobei der Ansatz über SendConsoleCommand tatsächlich der schnellere wäre, wenn ich da noch die Fehler umschifft bekomme.
Ciao
Sascha
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln