Execute um comando na inicialização do Windows (não faça o login!)

11

Como você diz ao Windows para executar um comando em cada inicialização do sistema?

Eu tenho um grande número de servidores nos quais precisarei executar um comando na inicialização do sistema que faça uma alteração não persistente na configuração.

Eu posso executar o comando:

  • como um executável com vários parâmetros
  • como um arquivo em lotes que chama acima do executável com parâmetros apropriados

Como instruo o Windows a executar meu comando em cada inicialização, sem qualquer tipo de logon?

relacionado: /programming//q/5899978/93180

MikeyB
fonte

Respostas:

7

Defina um script de inicialização com o arquivo BAT desejado. Faça isso via Diretiva do computador local (para máquinas independentes) ou via GPO (se estiver em um domínio).

mfinni
fonte
Como mesclar programaticamente minhas alterações na diretiva do computador? Acabei de criar uma nova chave abaixo HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Startupe coloco as entradas apropriadas lá?
51111 MikeyB
Geralmente, você não deve tocar manualmente em nada nos GPOs, AFAIK. E faltam opções de script para fazer alterações específicas nos GPOs, pelo que me lembro. Você pode exportar, importar, criar / excluir e vincular GPOs a partir de scripts, mas acho que não é possível fazer alterações específicas em GPOs específicos (facilmente.) De qualquer forma, essa é uma pergunta diferente e provavelmente mais adequada ao StackOverflow.
Mllni
Sim, escrevendo minha pergunta agora. Vou precisar adicionar uma entrada ao GPO como parte de um instalador.
51111 MikeyB
Na verdade, agora que eu sei o que procurar: nsis.sourceforge.net/LGP_Startup/Shutdown_Script
MikeyB
16

Se você precisar definir o script de inicialização programaticamente, poderá usar as Tarefas agendadas:

schtasks.exe /create /tn "Task Name" /ru SYSTEM /Sc ONSTART /tr
"C:\command2run.cmd"

Para executar a tarefa com permissões elevadas (Vista e posterior), adicione o parâmetro /RL HIGHEST

abstrask
fonte
4
Solução muito mais agradável (e mais simples de fazer) !! Você também pode usar a GUI do Agendador de tarefas, se preferir.
Jaans
6

Use a Diretiva de Grupo para executar um script de Inicialização do Computador - isso será executado quando a máquina for inicializada sem a necessidade de alguém para fazer login

Jon Reeves
fonte