Оказывается, что локальный редактор групповой политики получает список и порядок сценариев не только из реестра, но и из C:\Windows\System32\GroupPolicy\Machine\Scripts\psScripts.ini
. Это почти обычный файл .ini с некоторыми странными особенностями: он должен быть в формате спецификации UTF-16LE и может иметь как CR
+, так LF
и LF
конец строки (что довольно странно для Windows).
Ниже вы найдете правильный фрагмент кода psScripts.ini
для добавления сценария запуска компьютера в локальную групповую политику.
Код требует модуль PsIni, который может быть установлен
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