Por qué necesito esto :
Tengo Pen Drive lleno de secuencias de comandos por lotes y otras herramientas de diagnóstico. Tengo 75 PC independientes (no conectadas en red) principalmente con Win-XP-Pro SP-2, en 2 Labs. A menudo necesito iniciar sesión en cada PC con una cuenta de administrador para configurar o diagnosticar algo.
Entonces, cuando inicio una PC, cada vez que tengo que seleccionar manualmente el nombre de usuario de la pantalla de inicio de sesión y también escribir su contraseña.
Ahora quiero iniciar sesión en Admin Acc. Automáticamente (mediante programación) si mi pen drive está conectado a la PC.
Lo que yo sé:
Sé que es posible ejecutar Scripts (Batch Files) antes de que el usuario inicie sesión en XP / Win7. Escribí un archivo por lotes y lo guardé en la PC local. Lo configuré en la política de grupo para ejecutarlo en el inicio del sistema (Ubicación de GPO: Configuración del equipo \ Configuración de Windows \ Scripts (Inicio / Apagado) \ Sartup ). Este archivo por lotes detecta con éxito 'si el pen drive está conectado o no.
Tengo otro archivo por lotes (actualmente en blanco) almacenado en Pen Drive.
El primer archivo por lotes busca en todas las unidades de C a Z el segundo archivo por lotes (login.bat) utilizando un bucle; si el archivo está presente, se supone que el pen drive está presente y luego llama al segundo archivo por lotes (login.bat) para continuar.
Lo que no sé
Ahora no sé cuál debería ser el código del archivo login.bat o no sé cómo iniciar sesión pragmáticamente.
¿Cuáles son otras alternativas en mente?
No es necesario usar solo un archivo por lotes. También puedo considerar 'si tiene alguna otra opción para el inicio de sesión automático como usar VB Script
o cualquier otro ejecutable de tercera parte',
Editar:
De acuerdo con esta pregunta Establecer usuario para inicio de sesión automático en Windows mediante secuencia de comandos por lotes. Puedo crear una secuencia de comandos para modificar las entradas del registro y permitir el inicio de sesión automático. Aunque esto funciona, debe reiniciar su PC para que se apliquen los cambios. Que es algo que quiero evitar. Lleva más tiempo ejecutar el script y reiniciar que simplemente iniciar sesión personalmente.
Me gustaría poder iniciar sesión automáticamente, bajo demanda. Esto significa que una vez que conecto mi Pen Drive, el script debería poder iniciar sesión en la cuenta de administrador sin reiniciar la PC.
Leí en la web que se puede lograr creando un archivo dll GINA, pero no tengo experiencia en ese campo. ¿Alguna idea de cómo se puede implementar esto?
fuente
Respuestas:
Es posible iniciar sesión programáticamente en Windows, pero no con un simple archivo por lotes. En su lugar, debe crear una DLL con C ++ (o tal vez C #, pero no se recomienda ). En Windows XP (y antes), esta instalación se llama GINA .
(A partir de Vista, debe crear un proveedor de credenciales).
Referencia: Inicie sesión en Windows XP programáticamente
fuente
Accidentalmente encontré la solución por mí mismo. Como se mencionó en la pregunta, tengo 2 scripts: el primero reside en la computadora local y el segundo reside en Pen Drive. 1st (.bat) está preconfigurado para ejecutarse en el inicio del sistema ( ¿Ver cómo asignar scripts de inicio de la computadora? ) Y llama a 2nd (.vbs) si el pen drive está conectado.
Cómo funciona:
El funcionamiento del primer archivo ya se describe en la pregunta; y trabajar con el segundo script es muy simple pero satisface mis necesidades. Este script solo envía pulsaciones de teclas en la pantalla de inicio de sesión en la misma secuencia que escribo en el teclado para Iniciar sesión. Aquí me gustaría compartir el código completo de ambos scripts. Espero que esto ayude a muchos como yo, que no quieren interferir con los archivos internos del sistema operativo como GINA.
El codigo es:
1er guión (guión de inicio de sesión)
Nombre:
"Find PD.bat"
Ubicación:
"%SYSTEMROOT%\System32\GroupPolicy\Machine\Scripts\Startup\Find PD.bat"
Código
2do guión:
Nombre:
"FillCred.vbs"
Ubicación:
"<PenDriveRoot>\OTHER\RESTORE\OTHER\FillCred.vbs"
Código:
Recuerda:
1) Esto solo se prueba en Windows XP.
2) Esto solo funcionará si su Windows muestra la pantalla de inicio de sesión predeterminada (también conocida como 'Pantalla de bienvenida')
3) Tienes que modificar el segundo script para tus secuencias de teclas.
4) Esto no funcionará si su sistema requiere presionar Ctrl + Alt + Delete antes de iniciar sesión.
5) Esta es una solución muy básica, pero puede hacerla avanzada editando la 2da secuencia de comandos. esto funcionará siempre que su sistema permita presionar teclas en la pantalla de inicio de sesión.
Gracias.
fuente