2009-07-30 13:20:35 +0000 2009-07-30 13:20:35 +0000
27
27

Ejecutar automáticamente un script cuando me conecto a Windows

¿Cómo puedo ejecutar automáticamente un script cuando me conecto a Windows?

Me gustaría ejecutar algo así cada vez que inicie sesión en mi ordenador:

echo %USERNAME% logged on at %DATE% %TIME% >> log.txt

Un plus sería poder ejecutar el mismo script también cada vez que desbloqueo el protector de pantalla.

Respuestas (6)

22
22
22
2009-07-30 13:36:28 +0000

Si ya tiene un script:

Para asignar un script de inicio de sesión a un usuario o grupo

  • Abra la Administración de equipos.
  • En el árbol de la consola, haga clic en Usuarios.

¿Dónde? Herramientas del sistema/Usuarios y grupos locales/Usuarios

  • Haga doble clic en el usuario al que desea asignar un script de inicio de sesión.
  • Haga clic en la pestaña Perfil.
  • En el campo Script de inicio de sesión, introduzca la ruta y el nombre del script de inicio de sesión que desea asignar a ese usuario, y luego haga clic en Aceptar. Si no, aquí tienes un práctico “HowTo” de Microsoft

Creación de scripts de inicio de sesión

Puedes utilizar scripts de inicio de sesión para asignar las tareas que se llevarán a cabo cuando un usuario inicie sesión en un ordenador determinado. Los scripts pueden llevar a cabo comandos del sistema operativo, establecer variables de entorno del sistema y llamar a otros scripts o programas ejecutables. La familia Windows Server 2003 admite dos entornos de scripting: el procesador de comandos ejecuta archivos que contienen comandos en lenguaje de lotes, y Windows Script Host (WSH) ejecuta archivos que contienen comandos de Microsoft Visual Basic Scripting Edition (VBScript) o Jscript. Puede utilizar un editor de texto para crear scripts de inicio de sesión. Algunas de las tareas que suelen realizar los scripts de inicio de sesión son

  • Asignación de unidades de red.
  • Instalar y configurar la impresora por defecto de un usuario.
  • Recoger información del sistema informático.
  • Actualizar las firmas de virus.
  • Actualizar el software.
  • El siguiente ejemplo de script de inicio de sesión contiene comandos VBScript que utilizan Active Directory
  • Service Interfaces (ADSI) para realizar tres tareas comunes basadas en la pertenencia de un usuario a un grupo:

Asigna la unidad H: al directorio principal del usuario llamando al método MapNetworkDrive del objeto WSH Network en combinación con la propiedad UserName del objeto WSH Network. Utiliza el objeto ADSI IADsADSystemInfo para obtener el nombre distinguido del usuario actual, que a su vez se utiliza para conectar con el objeto de usuario correspondiente en Active Directory. Una vez establecida la conexión, se recupera la lista de grupos a los que pertenece el usuario utilizando el atributo memberOf del usuario. La lista multivaluada de nombres de grupos se une en una sola cadena utilizando la función Join de VBScript para facilitar la búsqueda de los nombres de los grupos de destino.

Si el usuario actual es miembro de uno de los tres grupos definidos en la parte superior del script, entonces el script asigna la unidad G: del usuario a la unidad compartida del grupo, y establece que la impresora por defecto del usuario sea la del grupo. Para crear un script de inicio de sesión de ejemplo

  • Abre el Bloc de notas.
  • Copia y pega, o escribe, lo siguiente:

  • En el menú Archivo, haga clic en Guardar como.

  • En Guardar en, haga clic en el directorio que corresponde a la carpeta compartida de Netlogon del controlador de dominio (normalmente SystemRoot\SYSVOL\Sysvol\DomainName\Scripts donde DomainName es el nombre de dominio completo del dominio).

  • En Guardar como tipo, haga clic en Todos los archivos.

  • En File name, escriba un nombre de archivo, seguido de .vbs, y luego haga clic en Save. WSH utiliza la extensión .vbs para identificar los archivos que contienen comandos VBScript.

19
19
19
2014-08-15 22:12:37 +0000

Puede crear una tarea programada que se ejecute cuando su ordenador se desbloquee:

  1. Inicio > Herramientas administrativas > Programador de tareas
  2. panel izquierdo: seleccione Biblioteca del Programador de tareas
  3. panel derecho: haga clic en Crear tarea… (NOTA: esta es la única manera de obtener el activador correcto)
  4. en el diálogo Crear Tarea
  5. Pestaña General – proporcione un nombre para su tarea
  6. Pestaña Triggers – haga clic en New… y seleccione On workstation unlock
  7. Pestaña Action – haga clic en New… y haga clic en Browse… para localizar su script
  8. Pestaña Conditions – desmarque Start the task only if the computer is on AC power

Además, he ajustado la ruta en el script para que sea

echo %USERNAME% logged on at %DATE% %TIME% >> %USERPROFILE%\log.txt
14
14
14
2009-07-30 13:21:37 +0000

La forma más sencilla que se me ocurre sería poner esto en un archivo .bat en tu carpeta de inicio.

Una forma más complicada sería añadir el archivo por lotes al registro en la clave

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

del registro.

2
2
2
2009-07-30 13:37:08 +0000

Un buen método alternativo es crear un archivo por lotes con los comandos que desea ejecutar en ellos. A continuación, especifique en el editor de políticas de la máquina que se ejecute un script de inicio de sesión como parte del proceso de inicio de sesión. Una nota rápida es que esta opción sólo está disponible en XP Pro y no en la versión doméstica. Tutorial del Editor de Políticas de Grupo Aquí

2
2
2
2010-05-14 12:50:45 +0000

¿Alguien sabe si esto se puede utilizar para ejecutar cuando la pantalla está bloqueada/desbloqueada también?

Hay una manera para Windows 7 y/o Windows Server 2008.

Utiliza el Programador de Tareas, crea una nueva tarea básica, como Trigger utiliza “When I log on”.

2
2
2
2015-01-06 09:53:34 +0000

No es necesario. Windows ya tiene un mecanismo para registrar esto por usted en el registro de eventos. El ID del evento es 4624 (528 en sistemas pre-Vista).