Autor Thema: Wie notes.ini-Parameter von Domino-Server per LotusScript auslesen?  (Gelesen 4969 mal)

Offline Sascha Seipp

  • Aktives Mitglied
  • ***
  • Beiträge: 139
  • Geschlecht: Männlich
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
« Letzte Änderung: 25.06.13 - 19:24:37 von BibbernderBiber »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Du kannst per LS mit SendConsoleCommand ein show config * absetzen und den erhaltenen String nach Belieben weiter verwurschten.

HTH,
Bernhard

Offline Sascha Seipp

  • Aktives Mitglied
  • ***
  • Beiträge: 139
  • Geschlecht: Männlich
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).

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

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
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

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
« Letzte Änderung: 25.06.13 - 18:06:46 von Peter Klett »

Offline Sascha Seipp

  • Aktives Mitglied
  • ***
  • Beiträge: 139
  • Geschlecht: Männlich
Zitat
1. das True vergessen, um Ini-Einträge ohne $ auszulesen

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

Offline Sascha Seipp

  • Aktives Mitglied
  • ***
  • Beiträge: 139
  • Geschlecht: Männlich
So, hab die Variante mit GetEnvironmentString jetzt soweit perfektioniert, daß alle meine Server jeweils regelmäßig für sich ein Dokument schreiben (oder aktualisieren) über ihre Installationsumgebung, und das Ganze wird dann zusammen repliziert.

Nochmal danke für die Unterstützung!

Ciao
Sascha

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz