Seite 1 von 2
Ini-Datei in allen Profile Verzeichnissen patchen
Verfasst: 08 Jan 2014, 08:55
von WolleKette
Hallo,
ich möchte eine Ini-Datei in allen Benutzerprofilen patchen.
Leider gelingt es mir nicht, den Verzeichnissnamen korrekt anzugeben. Im Moment mache ich das so:
Code: Alles auswählen
...
Patches_Ini "%UserProfileDir%\Test\Test.ini" /AllNtUserProfiles
...
[Patches_Ini]
add [Settings] Language File="irgendwas"
Als Resultat erhalte ich folgende Fehlermeldungen im Logfile: (Hinweis: Es gibt 3 Benutzerprofile auf dem Testrechner)
Execution of Patches_Ini
Patching: %UserProfileDir%\Test\Test.ini
Info: This file does not exist and will be created
Error: File Test.ini could not be created in Directory %UserProfileDir%\Test\. ("Invalid filename")
Patching: %UserProfileDir%\Test\Test.ini
Info: This file does not exist and will be created
Error: File Test.ini could not be created in Directory %UserProfileDir%\Test\. ("Invalid filename")
Patching: %UserProfileDir%\Test\Test.ini
Info: This file does not exist and will be created
Error: File Test.ini could not be created in Directory %UserProfileDir%\Test\. ("Invalid filename")
Mit irgendeiner anderen globalen Konstanten (z. B. %SystemRoot%) und dann natürlich ohne die /AllNtUserProfiles Option funktioniert es problemlos.
Wäre für jede Hilfe Dankbar.
Re: Ini-Datei in allen Profile Verzeichnissen patchen
Verfasst: 08 Jan 2014, 09:37
von holgerv
Die für "/AllNtUserProfiles" erforderliche (kostenpflichtige) Erweiterung "User Profile Management" hast Du?
http://download.uib.de/opsi4.0/doc/html ... al-modules
Gruß
Holger
Re: Ini-Datei in allen Profile Verzeichnissen patchen
Verfasst: 08 Jan 2014, 12:52
von embl-structures
Hmm. ich denke, das die "/AllNtUserProfiles" fuer Patch-Sektionen eine Standard-Funktionalitaet ist, die nichts mit dem "User Profile Management"-Modul zu tun hat.
frank
Re: Ini-Datei in allen Profile Verzeichnissen patchen
Verfasst: 08 Jan 2014, 13:02
von embl-structures
WolleKette hat geschrieben:Hallo,
ich möchte eine Ini-Datei in allen Benutzerprofilen patchen.
Leider gelingt es mir nicht, den Verzeichnissnamen korrekt anzugeben. Im Moment mache ich das so:
Code: Alles auswählen
...
Patches_Ini "%UserProfileDir%\Test\Test.ini" /AllNtUserProfiles
...
[Patches_Ini]
add [Settings] Language File="irgendwas"
Als Resultat erhalte ich folgende Fehlermeldungen im Logfile: (Hinweis: Es gibt 3 Benutzerprofile auf dem Testrechner)
Execution of Patches_Ini
Patching: %UserProfileDir%\Test\Test.ini
Info: This file does not exist and will be created
Error: File Test.ini could not be created in Directory %UserProfileDir%\Test\. ("Invalid filename")
[...]
Mit irgendeiner anderen globalen Konstanten (z. B. %SystemRoot%) und dann natürlich ohne die /AllNtUserProfiles Option funktioniert es problemlos.
Wäre für jede Hilfe Dankbar.
Das Problem koennte im unterschiedlichen Handling von Strings in primaeren und sekundaeren Sektionen liegen. Der Aufruf von Patches_Ini erfolgt in ener primaeren Sektion und entsprechend muessen Strings dort mit "+" zusammengehaengt werden. Siehe auch das Beispiel fuer Patches-Sektionen im WInst-Handbuch Kapitel 8.2.1. Versuche den Aufruf mal mit
Patches_Ini %UserProfileDir% + "\Test\Test.ini" /AllNtUserProfiles
Vielleicht hilft das
frank
Re: Ini-Datei in allen Profile Verzeichnissen patchen
Verfasst: 08 Jan 2014, 16:10
von WolleKette
Hallo,
das mit dem 'Addieren' der Strings funktioniert leider auch nicht.
Das Beispiel aus dem Handbuch funktioniert weil dabei nicht %UserProfileDir% sondern eine andere Variable verwendet wurde. Zudem noch nicht mal eine globale sondern eine lokale.
Wie ich schon geschrieben hatte, funktioniert es mit %SystemRoot% ja auch. Oder z. B. %ProgramFilesDir%. Aber dann hat man ja auch keinen /AllNtUserProfiles Parameter.
Re: Ini-Datei in allen Profile Verzeichnissen patchen
Verfasst: 08 Jan 2014, 21:12
von SisterOfMercy
It is probably not an option to copy test.ini from %scriptpath%, is it?
Re: Ini-Datei in allen Profile Verzeichnissen patchen
Verfasst: 09 Jan 2014, 07:28
von WolleKette
No unfortunately not. The file already exists and needs to be changed.
Re: Ini-Datei in allen Profile Verzeichnissen patchen
Verfasst: 09 Jan 2014, 11:29
von embl-structures
WolleKette hat geschrieben:das mit dem 'Addieren' der Strings funktioniert leider auch nicht.[...]
Ich konnte das Verhalten teilweise reproduzieren. Bei mir wird allerdings jeweils C:\WINDOWS\system32\%UserProfileDir%\Test\Test.ini gepatcht (so viele Male wie es Benutzerprofile gibt) und ich bekomme keine Fehlermeldung, dass das File nicht erstellt werden konnte. Das ist aber vielleicht ein lokales Konfigurationsproblem (Homeverzeichnis des pcpatch-users?). Jedenfalls:
Das ist ein Bug (siehe
viewtopic.php?f=6&t=5670): Die Variable wird nur dann expandiert, wenn sie komplett mit Kleinbuchstaben geschrieben wird! Also %userprofiledir% und nicht %UserProfileDir%.
frank
Re: Ini-Datei in allen Profile Verzeichnissen patchen
Verfasst: 09 Jan 2014, 11:32
von tobias
grade mal getestet, so funktioniert das bei mir.
Code: Alles auswählen
[actions]
Patches_TEST.INI %userprofiledir%\test.ini /AllNtUserProfiles
[Patches_TEST.ini]
add [secdummy] dummy1=add1
edit:
Re: Ini-Datei in allen Profile Verzeichnissen patchen
Verfasst: 09 Jan 2014, 11:34
von embl-structures
tobias hat geschrieben:grade mal getestet, so funktioniert das bei mir.
Code: Alles auswählen
[actions]
Patches_TEST.INI %CurrentProfileDir%\test.ini /AllNtUserProfiles
[Patches_TEST.ini]
add [secdummy] dummy1=add1
Aha, ein undokumentiertes Feature
