Windows 7 Home: cómo configurar un script de inicio de sesión

8

En Windows 7 Professional, puede hacer clic con el botón derecho en el usuario en el Gestión informática es Usuarios locales y grupos para establecer la secuencia de comandos de inicio de sesión en el Perfil lengüeta. Desafortunadamente, Windows 7 Home Premium no tiene (parece) tener Usuarios locales y grupos en el Gestión informática . ¿Cómo configurar el script de inicio de sesión en Windows 7 Home Premium?

Mike L.
fuente
1
En un sistema independiente, ¿hay alguna ventaja en la configuración de un script de inicio de sesión en lugar de ponerlo en la carpeta de Inicio?
grawity
2
La ventaja es que la secuencia de comandos se cargará muy pronto, por ejemplo. Antes de lanzar otras aplicaciones. Esto es muy útil para montar particiones encriptadas.
Mike L.

Respuestas:

9

Tiene razón, este complemento de MMC está deshabilitado a menos que tenga al menos Windows 7 (o Vista) Professional.

Debería poder configurar las propiedades del usuario usando usuario de red mando:

net user UserName /scriptpath:logon.bat

La ubicación del script:

Los scripts de inicio de sesión locales deben almacenarse en   una carpeta compartida - o subcarpetas de la   carpeta compartida - llamada Netlogon. Si   esta carpeta no existe por defecto,   usted debe crearlo. Para especificar un inicio de sesión   script que se almacena en una subcarpeta   de la carpeta Netlogon, precede a la   nombre de archivo con la ruta relativa a   esa carpeta Por ejemplo, para asignar   el script de inicio de sesión Startup.bat que es   guardado en   \ ComputerName \ Netlogon \ FolderName para   un usuario local, en el tipo de script de inicio de sesión   FolderName \ Startup.bat

Siim K
fuente
¿Dónde está ubicado el directorio "\ ComputerName \ Netlogon \ FolderName"?
Mike L.
1
@mklhmnn: donde tú quieras. El ejemplo dado es para un dominio, con un servidor que contiene todos los scripts; los controladores de dominio tienen una cuota \\servername\Netlogon para este propósito. Si da una ruta relativa, se buscará en el DC Netlogon compartir. (Comportamiento desconocido para sistemas independientes). Pero puede dar una ruta absoluta, por ejemplo. C:\WINDOWS\Misc\logon.cmd.
grawity
1
Donde quiera que desee, por ejemplo, cree una carpeta c: \ logon y compártala como Netlogon.
Siim K
1
@grawity utilizando /scriptpath:path No puedes usar un camino absoluto.
Hanan N.
7

Resumen de lo que hice para resolver este problema:

  • He creado un script en C:\Windows\System32\repl\import\scripts\<username>.bat
  • invocado net user <username> /scriptpath:<username>.bat

Como Windows 7 Home no esperó hasta que se completó este script y continuó cargando otras aplicaciones, también tuve que crear un DWORD entrada nombrada RunLogonScriptSync a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon en el registro estableciendo el valor a 1.

Mike L.
fuente
1
¿Hay una manera de revertir este comando? ¿En otras palabras, desactivar un script que asignó a un perfil de usuario?
Radical924
3

La respuesta aceptada es la forma de hacerlo, si desea que su secuencia de comandos se ejecute al inicio del sistema, o si necesita que la secuencia de comandos se ejecute de forma síncrona, es decir, el proceso de inicio de sesión normal continuará solo después de que se haya completado la secuencia de comandos (tenga cuidado puede ralentizar el inicio de sesión, úselo solo si lo necesita).

Nota: no estoy seguro si guiones mencionado anteriormente puede ser un .exe Archivo o no, pero en el método que describiré se puede usar cualquier ejecutable.

Otra forma de hacerlo, que tiene cierta flexibilidad adicional, es utilizando el Task Scheduler. Desde el menú de inicio, escriba el Programador de tareas y ejecútelo (o ejecute taskschd.msc desde Run diálogo o una concha). Seleccionar Task Scheduler Library en la vista de arbol. Si lo desea, puede crear una subcarpeta especial para sus programas, pero esto no es necesario. Hacer clic Create Basic Task... (asistente) o Create Task... en el Actions Panel en el lado derecho.

Te explico como usar Create Task....

  • En el General pestaña, complete un nombre descriptivo y, opcionalmente, una descripción para su tarea.
  • En el Triggers pestaña, haga clic New...establecer Begin the task a At log on. Comprobar el Specific user combobox, asegúrese de que su nombre de usuario esté seleccionado (puede usar Any user si desea que el programa se ejecute cuando cualquier usuario inicie sesión). Si no desea que su script ralentice el proceso de inicio de sesión, puede elegir ejecutarlo después de un retraso: haga clic en Delay task for casilla de verificación y escriba la hora (por ejemplo, 30 seconds ). Haga clic en Aceptar para crear el disparador.
  • En el Actions pestaña, haga clic New..., elige tu programa (o script) usando Browse... o escriba el camino completo en Program\program. Si el programa está en su% Path%, solo puede usar program. Puede especificar cualquier argumento para pasar al programa en Add arguments. Puede especificar el directorio de trabajo para el programa en Start in. Puede usar cualquier tipo de script que admita la computadora local; Si un tipo de script no está registrado en Windows, aún puede ejecutarlo especificando el intérprete de script como el programa. P.ej. utilizar C:\path\to\python.exe como el programa, y C:\path\to\script.py some_arguments como argumentos Haga clic en Aceptar para crear la acción.
  • En el Conditions pestaña, es probable que desee desmarcar la Start the task only if the computer is on AC power.
  • En el Settings pestaña, no hay necesidad de cambiar nada.

Haga clic en Aceptar para crear la tarea programada. Si quieres editarlo más tarde, simplemente selecciona Task Scheduler Library en la vista de árbol, busque su tarea en la lista (en la parte superior de la ventana) y haga doble clic en la tarea.

Ver el Referencia del programador de tareas para más información.

Gene Pavlovsky
fuente
2

Estoy usando Win 7 Premium Home en un sistema independiente y quería ejecutar una secuencia de comandos de inicio de sesión para montar un volumen cifrado. La búsqueda en la red solo dio resultados complicados (gpedit, actualización del registro). Mi solución es muy simple: creé en C: una carpeta (con un nombre que quieras) y coloco mi script en ella. Esta carpeta debe compartirse con el nombre compartido "Netlogon" ¡Funciona! Al menos en mi sistema local.

Mossautal
fuente
1

Error del sistema 5 ha ocurrido.

Acceso denegado.

Si recibe un error como este al ejecutar el usuario de red comando, asegúrate de que corres CMD como administrador (use el botón derecho y seleccione "Ejecutar como administrador")!

Ivan Kellenberger
fuente
1

También puede simplemente crear una tarea utilizando el programador de tareas y configurando el desencadenante para ejecutar el script al iniciar sesión.

swiftninja21
fuente
2
Esta respuesta podría mejorarse al incluir los procedimientos y los pasos necesarios para configurar un script para que se ejecute en el programador de tareas.
Will.Beninger
1

Aún utilizas la interfaz de usuario para configurar el script de inicio de sesión en Windows 7

Abierto "Control Panel" -> "User Accounts" -> "User Accounts" -> "Manage User Accounts" -> "Advanced" -> "Advanced" para acceder al complemento MMC "Usuarios y grupos locales (local)".

o simplemente lanzar desde el shell cmd: mmc.exe %SystemRoot%\system32\lusrmgr.msc computername=localmachine

Ntropy Nameless
fuente