OPSI Script: Sub für jedes Userprofil laufen lassen

Antworten
magicalUnicorn
Beiträge: 120
Registriert: 07 Mär 2019, 14:46

OPSI Script: Sub für jedes Userprofil laufen lassen

Beitrag von magicalUnicorn »

Moin Zusammen,

aktuell probiere ich in einem Paket folgendes zu erreichen:

Für jedes existierende Userprofil soll gecheckt werden, ob Datei x existiert. Existiert sie, sollen bestimmte Werte per PatchTextFile gesetzt werden. Existiert Sie nicht, soll die Default-Datei in das Verzeichnis kopiert werden.

Den Check für die Existenz der Datei würde ich mit if (FileExists("Pfad zur Datei")) erledigen. Das kopieren/Patchen jeweils mit PatchTextFile bzw einer Files-Sektion. Allerdings muss dieser ganze Block, gebündelt, jeweils pro User passieren. Ich habe bisher aber keine Möglichkeit gefunden eine Sub für jedes Userprofil laufen zu lassen.

TLDR: Ich suche quasi ein Synonym zu "/AllUserProfiles", dass beim Aufruf einer Sub funktioniert.
dotdle
Beiträge: 14
Registriert: 01 Jul 2021, 14:23

Re: OPSI Script: Sub für jedes Userprofil laufen lassen

Beitrag von dotdle »

Hallo magicalUnicorn,

Schau Dir mal dieses Powershell-Skript an:
https://gist.github.com/Gunslap/fada1bd ... efault-ps1

Friede sei mit Dir!
Benutzeravatar
SisterOfMercy
Beiträge: 1523
Registriert: 22 Jun 2012, 19:18

Re: OPSI Script: Sub für jedes Userprofil laufen lassen

Beitrag von SisterOfMercy »

I think you're making it much too hard. Use copy -n to not overwrite an existing file.

Code: Alles auswählen

Files_install_AllProfiles /AllNtUserProfiles
PatchTextFile_file "%userprofiledir%\AppData\Roaming\Whatever\file_to_patch" /AllNTUserProfiles

[Files_install_AllProfiles]
copy -n "%ScriptPath%\files\file_to_copy" "%UserProfileDir%\AppData\Roaming\Whatever"

[PatchTextFile_file ]
GoToTop
FindLine_Containing '"enable_opengl"'
DeleteTheLine
GoToTop
FindLine_Containing '"features"'
AdvanceLine 1
InsertLine '"enable_opengl" : $opengl$,'
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
magicalUnicorn
Beiträge: 120
Registriert: 07 Mär 2019, 14:46

Re: OPSI Script: Sub für jedes Userprofil laufen lassen

Beitrag von magicalUnicorn »

Hey SisterOfMercy,

i had hoped this would work as well, but sadly the "/AllNTUserProfiles" Flag doesn´t seem to work for the PatchTextFile Section (anymore). At least in my testing it always patched the file for the current user and not for all users on the system.
Benutzeravatar
SisterOfMercy
Beiträge: 1523
Registriert: 22 Jun 2012, 19:18

Re: OPSI Script: Sub für jedes Userprofil laufen lassen

Beitrag von SisterOfMercy »

Seems to work fine over here:

Code: Alles auswählen

[6] [2022-06-17 17:30:10.196] [avidemux]   Patching: C:\Users\test\AppData\Roaming\avidemux\config3
[6] [2022-06-17 17:30:10.196] [avidemux]         FILE C:\Users\test\AppData\Roaming\avidemux\config3
[6] [2022-06-17 17:30:10.197] [avidemux]     Item Pointer set to Top (before first line)
[7] [2022-06-17 17:30:10.197] [avidemux]     Load from file with encoding: system
[6] [2022-06-17 17:30:10.198] [avidemux]     Item no. 5 is containing '"ENABLE_OPENGL"'
[6] [2022-06-17 17:30:10.198] [avidemux]     Item Pointer set to 5
[6] [2022-06-17 17:30:10.199] [avidemux]     Deleted item no. 5: 		"enable_opengl" : true
[6] [2022-06-17 17:30:10.199] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.199] [avidemux]     Item no. 4 is containing '"FEATURES"'
[6] [2022-06-17 17:30:10.199] [avidemux]     Item Pointer set to 4
[6] [2022-06-17 17:30:10.199] [avidemux]     Item Pointer set to 5
[8] [2022-06-17 17:30:10.200] [avidemux]     r:'"enable_opengl" : true,'
[6] [2022-06-17 17:30:10.200] [avidemux]     Inserted item '"enable_opengl" : true,' at position 5
[6] [2022-06-17 17:30:10.200] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.200] [avidemux]     Item no. 11 is containing '"LANGUAGE"'
[6] [2022-06-17 17:30:10.200] [avidemux]     Item Pointer set to 11
[6] [2022-06-17 17:30:10.200] [avidemux]     Deleted item no. 11: 		"language" : "en"
[6] [2022-06-17 17:30:10.201] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.201] [avidemux]     Item no. 10 is containing '"DEFAULT"'
[6] [2022-06-17 17:30:10.201] [avidemux]     Item Pointer set to 10
[6] [2022-06-17 17:30:10.201] [avidemux]     Item Pointer set to 11
[8] [2022-06-17 17:30:10.201] [avidemux]     r:'"language" : "en",'
[6] [2022-06-17 17:30:10.201] [avidemux]     Inserted item '"language" : "en",' at position 11
[6] [2022-06-17 17:30:10.202] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.202] [avidemux]     Item no. 8 is containing '"ENABLED"'
[6] [2022-06-17 17:30:10.202] [avidemux]     Item Pointer set to 8
[6] [2022-06-17 17:30:10.202] [avidemux]     Deleted item no. 8: 		"enabled" : false
[6] [2022-06-17 17:30:10.202] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.203] [avidemux]     Item no. 7 is containing '"UPDATE"'
[6] [2022-06-17 17:30:10.203] [avidemux]     Item Pointer set to 7
[6] [2022-06-17 17:30:10.203] [avidemux]     Item Pointer set to 8
[8] [2022-06-17 17:30:10.203] [avidemux]     r:'"enabled" : false,'
[6] [2022-06-17 17:30:10.203] [avidemux]     Inserted item '"enabled" : false,' at position 8
[7] [2022-06-17 17:30:10.203] [avidemux]     Save to file with encoding: system
[8] [2022-06-17 17:30:10.204] [avidemux]     Will save (system) encoding to file: C:\Users\test\AppData\Roaming\avidemux\config3 :
[6] [2022-06-17 17:30:10.204] [avidemux]   
[6] [2022-06-17 17:30:10.205] [avidemux]   Patching: C:\Users\Administrator\AppData\Roaming\avidemux\config3
[6] [2022-06-17 17:30:10.205] [avidemux]         FILE C:\Users\Administrator\AppData\Roaming\avidemux\config3
[6] [2022-06-17 17:30:10.205] [avidemux]     Item Pointer set to Top (before first line)
[7] [2022-06-17 17:30:10.205] [avidemux]     Load from file with encoding: system
[6] [2022-06-17 17:30:10.206] [avidemux]     Item no. 5 is containing '"ENABLE_OPENGL"'
[6] [2022-06-17 17:30:10.207] [avidemux]     Item Pointer set to 5
[6] [2022-06-17 17:30:10.207] [avidemux]     Deleted item no. 5: 		"enable_opengl" : true
[6] [2022-06-17 17:30:10.207] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.207] [avidemux]     Item no. 4 is containing '"FEATURES"'
[6] [2022-06-17 17:30:10.207] [avidemux]     Item Pointer set to 4
[6] [2022-06-17 17:30:10.208] [avidemux]     Item Pointer set to 5
[8] [2022-06-17 17:30:10.208] [avidemux]     r:'"enable_opengl" : true,'
[6] [2022-06-17 17:30:10.208] [avidemux]     Inserted item '"enable_opengl" : true,' at position 5
[6] [2022-06-17 17:30:10.208] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.208] [avidemux]     Item no. 11 is containing '"LANGUAGE"'
[6] [2022-06-17 17:30:10.209] [avidemux]     Item Pointer set to 11
[6] [2022-06-17 17:30:10.209] [avidemux]     Deleted item no. 11: 		"language" : "en"
[6] [2022-06-17 17:30:10.209] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.209] [avidemux]     Item no. 10 is containing '"DEFAULT"'
[6] [2022-06-17 17:30:10.209] [avidemux]     Item Pointer set to 10
[6] [2022-06-17 17:30:10.209] [avidemux]     Item Pointer set to 11
[8] [2022-06-17 17:30:10.210] [avidemux]     r:'"language" : "en",'
[6] [2022-06-17 17:30:10.210] [avidemux]     Inserted item '"language" : "en",' at position 11
[6] [2022-06-17 17:30:10.210] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.210] [avidemux]     Item no. 8 is containing '"ENABLED"'
[6] [2022-06-17 17:30:10.210] [avidemux]     Item Pointer set to 8
[6] [2022-06-17 17:30:10.211] [avidemux]     Deleted item no. 8: 		"enabled" : false
[6] [2022-06-17 17:30:10.211] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.211] [avidemux]     Item no. 7 is containing '"UPDATE"'
[6] [2022-06-17 17:30:10.211] [avidemux]     Item Pointer set to 7
[6] [2022-06-17 17:30:10.211] [avidemux]     Item Pointer set to 8
[8] [2022-06-17 17:30:10.212] [avidemux]     r:'"enabled" : false,'
[6] [2022-06-17 17:30:10.212] [avidemux]     Inserted item '"enabled" : false,' at position 8
[7] [2022-06-17 17:30:10.212] [avidemux]     Save to file with encoding: system
[8] [2022-06-17 17:30:10.213] [avidemux]     Will save (system) encoding to file: C:\Users\Administrator\AppData\Roaming\avidemux\config3 :
[6] [2022-06-17 17:30:10.213] [avidemux]   
[6] [2022-06-17 17:30:10.213] [avidemux]   Patching: C:\Users\Default\AppData\Roaming\avidemux\config3
[6] [2022-06-17 17:30:10.213] [avidemux]         FILE C:\Users\Default\AppData\Roaming\avidemux\config3
[6] [2022-06-17 17:30:10.214] [avidemux]     Item Pointer set to Top (before first line)
[7] [2022-06-17 17:30:10.214] [avidemux]     Load from file with encoding: system
[6] [2022-06-17 17:30:10.215] [avidemux]     Item no. 5 is containing '"ENABLE_OPENGL"'
[6] [2022-06-17 17:30:10.215] [avidemux]     Item Pointer set to 5
[6] [2022-06-17 17:30:10.215] [avidemux]     Deleted item no. 5: 		"enable_opengl" : true
[6] [2022-06-17 17:30:10.216] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.216] [avidemux]     Item no. 4 is containing '"FEATURES"'
[6] [2022-06-17 17:30:10.216] [avidemux]     Item Pointer set to 4
[6] [2022-06-17 17:30:10.216] [avidemux]     Item Pointer set to 5
[8] [2022-06-17 17:30:10.216] [avidemux]     r:'"enable_opengl" : true,'
[6] [2022-06-17 17:30:10.217] [avidemux]     Inserted item '"enable_opengl" : true,' at position 5
[6] [2022-06-17 17:30:10.217] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.217] [avidemux]     Item no. 11 is containing '"LANGUAGE"'
[6] [2022-06-17 17:30:10.217] [avidemux]     Item Pointer set to 11
[6] [2022-06-17 17:30:10.217] [avidemux]     Deleted item no. 11: 		"language" : "en"
[6] [2022-06-17 17:30:10.217] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.218] [avidemux]     Item no. 10 is containing '"DEFAULT"'
[6] [2022-06-17 17:30:10.218] [avidemux]     Item Pointer set to 10
[6] [2022-06-17 17:30:10.218] [avidemux]     Item Pointer set to 11
[8] [2022-06-17 17:30:10.218] [avidemux]     r:'"language" : "en",'
[6] [2022-06-17 17:30:10.218] [avidemux]     Inserted item '"language" : "en",' at position 11
[6] [2022-06-17 17:30:10.219] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.219] [avidemux]     Item no. 8 is containing '"ENABLED"'
[6] [2022-06-17 17:30:10.219] [avidemux]     Item Pointer set to 8
[6] [2022-06-17 17:30:10.219] [avidemux]     Deleted item no. 8: 		"enabled" : false
[6] [2022-06-17 17:30:10.219] [avidemux]     Item Pointer set to Top (before first line)
[6] [2022-06-17 17:30:10.220] [avidemux]     Item no. 7 is containing '"UPDATE"'
[6] [2022-06-17 17:30:10.220] [avidemux]     Item Pointer set to 7
[6] [2022-06-17 17:30:10.220] [avidemux]     Item Pointer set to 8
[8] [2022-06-17 17:30:10.220] [avidemux]     r:'"enabled" : false,'
[6] [2022-06-17 17:30:10.220] [avidemux]     Inserted item '"enabled" : false,' at position 8
[7] [2022-06-17 17:30:10.220] [avidemux]     Save to file with encoding: system
[8] [2022-06-17 17:30:10.221] [avidemux]     Will save (system) encoding to file: C:\Users\Default\AppData\Roaming\avidemux\config3 :
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
magicalUnicorn
Beiträge: 120
Registriert: 07 Mär 2019, 14:46

Re: OPSI Script: Sub für jedes Userprofil laufen lassen

Beitrag von magicalUnicorn »

Hey SisterOfMercy,

my bad. I goofed up during testing and used the flag on the wrong section. Works like a charm. Thank you a lot for pointing me into the right direction!
Antworten