Ejecutar un script de Python que accede a un archivo protegido cuando se inicia Windows

Ejecutar un script de Python que accede a un archivo protegido cuando se inicia Windows

Tengo una secuencia de comandos de Python que agrega texto al hostsarchivo que permite acceso de administrador únicamente. Entonces, lo que hago es primero abrir cmd desde el menú Inicio en Windows 7, luego hacer clic derecho y ir a Ejecutar como administrador.

Eso funciona bien.

Sin embargo, mi intención es ejecutar ese script de Python tan pronto como se inicie Windows.

Si no hubiera ningún hostsarchivo protegido entre ellos, simplemente cambiaría la extensión del script Python de .py a .pyw y colocaría el script en la carpeta Inicio para que Windows lo ejecutara al inicio, pero en este caso el script no se ejecutaría. .

¿Alguien sugeriría cómo podría hacer esto?

Ediciones: El duplicado sugerido no resuelve mi problema. Si señalo el script .py o .pyw en el Programador de tareas, no sucede nada.

Creo que debería señalar un archivo .cmd o .bat, pero no sé qué escribir en dicho archivo.

Respuesta1

Simple,

  1. Abrir bloc de notas
  2. Inserta el siguiente código

@echo off

start < python script path here >

exit

Nota: mencione la ruta del script .py en la etiqueta anterior

  1. Guarde este archivo como "cualquier nombre.bat" en cualquier lugar
  2. Abrir programador de tareas
  3. Crear nueva tarea
  4. habilitar Run with highest privilegesel token " " para esta tarea
  5. Ir a la pestaña de acción
  6. Agregue el run a programactivador y seleccione el archivo por lotes
  7. Programe la tarea pararun at startup
  8. Haga clic en Aceptar

Respuesta2

Respondiendo a mi propia pregunta. Lo que hice fue crear un archivo .bat como lo sugiere la respuesta de Ashok:

@echo off
start C:/folder/script.pyw
exit

Debes cambiar el nombre de tu Python a una extensión .pyw.

Hacer doble clic en el archivo .bat no resuelve el problema todavía, ya que no se ejecuta como administrador. Para arreglar eso:

  1. Abrir programador de tareas
  2. Crear nueva tarea
  3. Seleccione "Ejecutar con los privilegios más altos"
  4. Ir a actionla pestaña
  5. Agregue el run a programactivador y seleccione el archivo por lotes
  6. Programe la tarea para que se ejecute al inicio
  7. Clic en Guardar

Hecho.

información relacionada