Es stellt sich heraus, dass der lokale Gruppenrichtlinien-Editor die Liste und die Reihenfolge der Skripts nicht nur von der Registrierung, sondern auch von dieser erhält C:\Windows\System32\GroupPolicy\Machine\Scripts\psScripts.ini
. Dies ist eine fast gewöhnliche INI-Datei mit einigen merkwürdigen Features: Sie sollte im UTF-16LE BOM-Format vorliegen und kann sowohl mit CR
+ LF
als auch mit LF
Zeilenenden (was für Windows eher seltsam ist) sein.
Nachfolgend finden Sie einen Code, der zum Schreiben psScripts.ini
des Maschinenstart-Skripts zu den lokalen Gruppenrichtlinien korrekt ist .
Code erfordert ein PsIni- Modul, das von installiert werden kann
Install-Module -Name PsIni
#Requires -Module psIni $scriptsConfig = @{ StartExecutePSFirst = 'true' EndExecutePSFirst = 'true' } $startup = @{ '0CmdLine' = 'AllUsersStartup.ps1' '0Parameters' = '' } $newIniContent = [ordered] @{ ScriptsConfig = $scriptsConfig Startup = $startup } $newIniContent | Out-IniFile -filePath C:\Windows\System32\GroupPolicy\Machine\Scripts\psScripts.ini -encoding Unicode -force