Domino 9 und frühere Versionen > ND8: Entwicklung

Wie notes.ini-Parameter von Domino-Server per LotusScript auslesen?

(1/2) > >>

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