Vamos fingir que nosso script de inicialização está localizado em C: \ MyStartupScript.bat
Você precisa de uma entrada de registro REG_SZ chamada Script com seu valor definido como C: \ MyStartupScript.bat localizado nos dois locais a seguir:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Diretiva de Grupo \ Estado \ Machine \ Scripts \ Inicialização \ 0 \ 0
HKEY_LOCAL_MACHINE \ SOFTWARE \ Políticas \ Microsoft \ Windows \ Sistema \ Scripts \ Inicialização \ 0 \ 0
Você também precisa da seguinte entrada em C: \ WINDOWS \ system32 \ GroupPolicy \ Machine \ Scripts \ Scripts.ini
[Startup]
0CmdLine=C:\MyStartupScript.bat
0Parameters=
Para um script de desligamento, siga as mesmas instruções, mas substitua todas as instâncias da palavra Startup pela palavra Shutdown
editar:
Parece que você também precisa criar duas outras entradas de registro se elas ainda não existirem.
Você precisará criá-los nos dois locais de registro mencionados acima.
A primeira entrada é uma entrada REG_SZ chamada Parâmetros e seu valor pode ser deixado em branco.
A segunda entrada é uma entrada REG_QWORD chamada ExecTime e seu valor é definido como 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
No Windows XP, o comando REG não pode adicionar uma entrada REG_QWORD ao registro.
Para contornar essa limitação, eu, por exemplo, uso um arquivo em lote que adiciona essas linhas
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Startupregedit /s addQword.reg
[Startup]
0CmdLine=C:\MyStartupScript.bat
0Parameters=
]
"ExecTime"=hex(b):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
para um arquivo chamado addQword.reg , em seguida, executa o arquivo usando este comando:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Startupregedit /s addQword.reg
%pre%]
"ExecTime"=hex(b):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00