84075
Goto Top

Notes.ini automatisiert bei allen Usern ändern

hallo leute,

wie ändere ich automatisiert die notes.ini aller meiner User? Die notes.ini liegt im windows Programmverzeichnis unter C:\Programme\notes\notes.ini aber bei manchen auch unter C:\Programme\IBM\Lotus\notes\notes.ini
ich möchte gerne folgenden Eintrag ändern:

FooterWeekNo=2

Bisher steht FooterWeekNo=1 und das ergibt im Notes die falsche KW.

Will nicht auf alle rEchner drauf gehen und das ändern. will es am liebsten per skript machen....habe auch ne softwareverteilung mit der ich skripte verteilen könnte die das ändern/aktualisieren
Kommentar vom Moderator Biber am Jun 11, 2010 um 16:47:37 Uhr
Ich hab den Beitrag verschoben von "Intranet/Internet"->"Mail" nach "Batch & Shell".
Siehe Diskussion unten.

Content-Key: 144592

Url: https://administrator.de/contentid/144592

Printed on: April 16, 2024 at 13:04 o'clock

Member: BigWim
BigWim Jun 10, 2010 at 13:37:21 (UTC)
Goto Top
Das weiß Dein NotesAdministrator. Aus der Hilfe zum Admin-Client:

Es gibt drei Möglichkeiten, die NOTES.INI-Einstellungen zu bearbeiten:
Öffnen Sie die NOTES.INI-Datei und bearbeiten Sie sie. Die Vorgehensweise dazu hängt von dem Betriebsystem des Clients oder Servers ab und von dem Texteditor,
den Sie verwenden.
Erstellen Sie ein Konfigurationsdokument und bearbeiten Sie die Einstellungen. Mithilfe eines Konfigurationsdokuments können Sie mehrere NOTES.INI-Einstellungen
gleichzeitig hinzufügen oder ändern. Einige Einstellungen können allerdings nicht über das Konfigurationsdokument bearbeitet werden. Ebenso kann die NOTES.INI eines
Notes-Clients nicht über ein Konfigurationsdokument verändert werden, da Konfigurationsdokumente nur von Servern verwendet werden.
Verwenden Sie den Serverbefehl "Set Configuration".
Da die direkte Bearbeitung der NOTES.INI-Datei zu Problemen führen könnte, ist es empfehlenswert, Servereinstellungen mithilfe eines Konfigurationsdokuments festzulegen.
Mitglied: 84075
84075 Jun 10, 2010 at 13:44:48 (UTC)
Goto Top
da alles lokal auf unseren User-Rechner steht wollte ich wissn wie ich per remote die notes.ini aktualisieren kann.....am besten mit psexec und einer hosts.txt dort soll dann unter den 2 o.g. pfaden nach einer notes.ini gesucht werden, wird eine gefunden soll nach dem Eintrag FooterWeekNo=1 gesucht werden und durch den Eintrag FooterWeekNo=2 ersetzt werden - das ist alles. Aber da ich kein batch guru bin brauch ich da hilfe
Member: BigWim
BigWim Jun 10, 2010 at 14:27:32 (UTC)
Goto Top
Ach so, dann wäre es besser, diese Anfrage im Batch / Scriptbereich zu stellen.

Wie wir das machen, habe ich mal beigefügt - ist aber ungetestet, weil wir die Notes.ini immer im selben Pfad auf einem Fileserver haben!

Das Script setzt kix32.exe voraus, also kix32.exe MyScriptName.kix

Markus

break on
$MeinTempFile = "C:\temp\Hilfe.txt"  
$MeinDir = "dir c:\programme\notes.ini /s /b >$MeinTempFile"  

shell "cmd.exe /c $MeinDir"  

$MeineNotesInis = TextFileToArray($MeinTempFile)
for each $NotesIni in $MeineNotesInis
  if Trim($NotesIni) <> ""  
    $rc = WriteProfileString ($NotesIni, "section", "key", "Mein Neuer Wert")  
  endif
next


del $MeinTempFile



Function TextFileToArray($file)
 	$lf=chr(10)
    $f=freefilehandle
    if open($f,$file)
    	? 'Kann $file nicht öffnen'  
    	exit @error
    endif
    do 	$t=$t+$lf+readline($f) until @error
    $rc=close($f)
    $TextFileToArray=split($t,$lf)
EndFunction
Member: bastla
bastla Jun 10, 2010 at 18:02:14 (UTC)
Goto Top
Hallo cyaency!

Falls es reicht, dass die richtige Zeile am Ende der Datei steht, sollte sich das per Batch (ungetestet) etwa so machen lassen:
@echo off & setlocal
set "Basis=%ProgramFiles%"  
set "ini=notes.ini"  

set "ZeileAlt=FooterWeekNo=1"  
set "ZeileNeu=FooterWeekNo=2"  

for /f "delims=" %%i in ('dir /s /b "%Basis%\%ini%"') do (  
    findstr /i /c:"%ZeileAlt%" "%%i" && (  
        move "%%i" "%temp%\%%~ni.bak"  
        findstr /i /v /c:"%ZeileAlt%" "%temp%\%%~ni.bak">"%%i"  
        >>"%%i" echo %ZeileNeu%  
    )
)
Grüße
bastla
Member: BigWim
BigWim Jun 11, 2010 at 07:10:00 (UTC)
Goto Top
Hallo Bastla,

was für eine Verkettung! Da krieg ich ja Kopfschmerzen beim Lesen. Genial.
Die Umleitungs"geschichten" werde ich mir auf jeden Fall genauer ansehen. Mit Batch konnte ich die notes.ini von alten Einträge befreien ....

Markus
Mitglied: 84075
84075 Jun 11, 2010 at 08:08:59 (UTC)
Goto Top
hey suuuper das klappt tadellosface-smile))) Danke dir bastla!
Member: bastla
bastla Jun 11, 2010 at 08:39:25 (UTC)
Goto Top
@Markus

Schaut wilder aus, als es ist ...

  • Zeile 8 sucht, ausgehend vom %Basis%-Ordner, nach allen %ini%-Dateien und stellt sie mit vollständigem Pfad (ist bei "dir /b" nicht Standard, sondern nur wegen des "/s" so) als %%i zur Verfügung.
  • Zeile 9 überprüft vorweg einmal, ob %ZeileAlt% überhaupt noch vorhanden ist
  • wenn ja, wird durch Zeile 10 die Originaldatei in den %Temp%-Ordner verschoben und auf ".bak" umbenannt (die Umbenennung müsste aber gar nicht sein) und
  • in Zeile 11 unter Ausfilterung der %ZeileAlt% wieder an den ursprünglichen Speicherort zurückgeschrieben
  • Zeile 12 fügt schließlich die %ZeileNeu% am Ende an

Grüße
bastla
Member: BigWim
BigWim Jun 11, 2010 at 08:59:03 (UTC)
Goto Top
@bastla

Vielen Dank für die ausführliche Beschreibung. Grundsätzliche Script- und Programmierkenntnisse sind vorhanden, aber: Es scheitert bei mir oftmals an der Batch-Syntax. Gerade die Verkettungen und oder das Ausführen mehrere Anweisungen.

Deine Beispiele sind tolle Einsteiger um tiefergehende "Basteleien" zu realisieren.

Danke noch einmal für die viele Mühe.

Markus
Member: bastla
bastla Jun 11, 2010 at 09:06:01 (UTC)
Goto Top
Hallo Markus!

Meine Beispiele sind in vielen Fällen nix anderes als Anwendung der von Tutorials vermittelten Grundlagen (und Feinheiten) ...

... aber es freut mich natürlich, wenn's hilft. face-smile

Grüße
bastla
Member: BigWim
BigWim Jun 11, 2010 at 11:40:35 (UTC)
Goto Top
Klasse!!!

Meinen herzlichen Dank an Euch beiden - teilt es Euch bitte gerecht auf face-wink

Ich verschwinde jetzt mal in die Tutorials !!!

Markus
Member: Bastian-W
Bastian-W Jun 18, 2010 at 06:35:27 (UTC)
Goto Top
Hallo cyaency

wie für den Parameter (FooterWeekNo) hier in den Kommentaren geschrieben steht:

http://www.lntoolbox.com/en/notesini-reference/bycategory/calendaringan ...

Soll eine Desktop Policy genutzt werden (wie von BigWim) auch schon angemerkt. Mit Lotus 8.5 kann man das einfach mit einigen Mouseclicks in die Desktop Policy übernehmen. Für die Versionen davor bietet IBM den Weg an das direkt in die Policy einzubauen, wie hier geschrieben steht:


Using a Desktop Policy to set notes.ini and Location parameters
http://www-01.ibm.com/support/docview.wss?rs=463&uid=swg21196837

Ich denke das ist viel viel schneller gemacht als mit einem Batchfile und auch Fehlerfreier. Die Desktop policy würde dann immer diesen Wert auf 2 setzten. Egal ob der user es umstellt am nächsten Tag wäre es wieder korrigiert bei ihm. Und das ganze ohne jeden Tag das Batchfile ausführen zu müssen face-wink