Ejecute un comando en el inicio de Windows (¡no inicie sesión!)

11

¿Cómo le dice a Windows que ejecute un comando en cada inicio del sistema?

Tengo una gran cantidad de servidores en los que tendré que ejecutar un comando en el inicio del sistema que realice un cambio de configuración no persistente.

Puedo ejecutar el comando:

  • como un ejecutable con múltiples parámetros
  • como un archivo por lotes que llama al ejecutable anterior con los parámetros apropiados

¿Cómo le indico a Windows que ejecute mi comando en cada arranque, sin ningún tipo de inicio de sesión?

relacionado: /programming//q/5899978/93180

MikeyB
fuente

Respuestas:

7

Defina un script de inicio con su archivo BAT deseado. Haga esto ya sea a través de la política de computadora local (para máquinas independientes) o mediante GPO (si está en un dominio).

mfinni
fuente
¿Cómo fusiono programáticamente mis cambios en la política informática? ¿Solo creo una nueva clave debajo HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Startupy pongo las entradas apropiadas allí?
MikeyB
Por lo general, no se supone que toque nada manualmente en GPO, AFAIK. Y, por lo que recuerdo, faltan bastante las opciones de secuencias de comandos para realizar cambios específicos en los GPO. Puede exportar, importar, crear / eliminar y vincular GPO desde scripts, pero no creo que pueda hacer cambios específicos a GPO específicos (fácilmente). De todos modos, esa es una pregunta diferente, y probablemente una más adecuada para StackOverflow.
mfinni
Sí, escribiendo mi pregunta ahora. Necesitaré agregar una entrada al GPO como parte de un instalador.
MikeyB
En realidad, ahora que sé qué buscar: nsis.sourceforge.net/LGP_Startup/Shutdown_Script
MikeyB
16

Si necesita configurar la secuencia de comandos de inicio mediante programación, puede usar las tareas programadas:

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

Para ejecutar la tarea con permisos elevados (Vista y posterior), agregue el parámetro /RL HIGHEST

abstrask
fuente
44
¡Una solución mucho más agradable (y más simple de hacer)! También puede usar la GUI del Programador de tareas si lo prefiere.
Jaans
6

Use la Política de grupo para ejecutar una secuencia de comandos de inicio de la computadora; esto se ejecutará cuando la máquina se inicie sin necesidad de que alguien inicie sesión

Jon Reeves
fuente