Seite 1 von 1

PatchTextFile

Verfasst: 26 Mär 2014, 14:02
von pctester
Hallo

Ich habe da ein Verständnisproblem, und hoffe das ich hier etwas schlauer werde ;-)

Ich habe das Problem, das nach dem Update von Java nicht mehr auf Seiten zugegriffen werden kann, die nicht in der exception.sites eingetragen sind.
Das wollte ich mal eben fix mit einem OPSi-Script abhandeln und für morgen früh global auf Setup setzen. In dem Script habe ich dem Handbuch entsprechend eine PatchTextFile Sektion erstellt und den Aufruf mit den Parametern %UserProfileDir% und /AllNtUserProfile durchgeführt.

hier mal das Script

Code: Alles auswählen


    PatchTextFile_java %UserProfileDir%+"\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites" /AllNtUserProfiles

    [PatchTextFile_java]
	 appendline "https://seite1.domain"
	 appendline "http://seite2.domain" 

Laut dem Logfile ist die Variable %UserProfileDir% aber nicht mit einem Usernamen gefüllt. Wenn ich anstand der Variablen einen vorhandenen Benutzer in den Pfad einfüge, funktioniert es so wie ich es möchte. Liegt hier ein fehlerhaften Aufruf vor ??

Für eure Hilfe bedanke ich mich im voraus

Re: PatchTextFile

Verfasst: 26 Mär 2014, 15:14
von pctester
habe auch diesen Beitrag gefunden an dem es aber offensichtlich nicht liegt

viewtopic.php?t=5658

Re: PatchTextFile

Verfasst: 26 Mär 2014, 17:05
von dkoch
Im Handbuch steht auch:
Diese Konstante wird nur innerhalb von Files-Sektionen, die mit der Option /AllNtUserProfiles aufgerufen werden, interpretiert. Sie wird dann der Reihe nach belegt mit dem Namen des Profil-verzeichnisses der, verschiedenen auf dem System, existierenden Nutzer
Edit:

Wobei bei PathTextFile dann wiederum steht:
/AllNTUserProfiles Wird eine PatchTextFile Sektion mit diesem Modifier aufgerufen und der Pfad zur zu patchenden Datei enthält die Konstante %UserProfileDir%, so wird diese Patchsektion für alle Profile ausgeführt. Eine PatchTextFile Sektion welche in einer [ProfileActions] Sektion aufgerufen wird hat im Machine Modus den Modifier /AllNTUserProfiles implizit. Im Loginscript Modus wird dann %UserProfileDir% als %CurrentProfileDir% interpretiert
Edit2:

Das "+" ist überflüssig du darfst %-Symbole mit Strings verbinden. Du darfst nur keine $-Variablen mit Strings verbinden.

Versuch mal das:

Code: Alles auswählen

PatchTextFile_java "%UserProfileDir%\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites" /AllNtUserProfiles

Re: PatchTextFile

Verfasst: 27 Mär 2014, 11:27
von pctester
Das hatte ich ursprünglich so stehen. Da es nicht funktioniert hat, habe ich ein bissschen umgestellt.

Deiner Antwort zufolge habe ich aber die Aufruf Sytnax vom patchTextFile richtig verstanden?

Re: PatchTextFile

Verfasst: 27 Mär 2014, 15:26
von pctester
Keiner eine Idee??

Re: PatchTextFile

Verfasst: 28 Mär 2014, 00:29
von SisterOfMercy
[quote="pctester"]

Code: Alles auswählen

    [PatchTextFile_java]
	 appendline "https://seite1.domain"
	 appendline "http://seite2.domain" 

Have you tried AddLine instead of AppendLine?
I'm not sure if you need to use quotes for this section. The entries in the file you are trying to modify are without quotes.

Re: PatchTextFile

Verfasst: 01 Apr 2014, 15:13
von pctester
My code is correct when you use a username instead the constant %userprofiledir% in combination with the AllNtUserProfiles option.

Re: PatchTextFile

Verfasst: 01 Apr 2014, 16:05
von SisterOfMercy
pctester hat geschrieben:My code is correct when you use a username instead the constant %userprofiledir% in combination with the AllNtUserProfiles option.
Hmm, maybe you have not updated to 4.0.4 and you are experiencing this bug?
viewtopic.php?f=6&t=5670

Re: PatchTextFile

Verfasst: 03 Apr 2014, 14:08
von pctester
Die Version ist 4.0.4

Arbeitet sonst keiner mit der PatchFile Option oder handelt es sich möglicherweise immer noch um ein Bug??


viewtopic.php?f=6&t=5670

Re: PatchTextFile

Verfasst: 03 Apr 2014, 14:42
von n.wenselowski
Hallo,

wurden auch die entsprechenden Produkte aktualisiert?

Was ist die Ausgabe von:

Code: Alles auswählen

opsi-package-manager --list | grep "opsi-"

Gruß

Niko