Accesso automatico a Windows XP / Win-7 utilizzando un file batch (o script VB) memorizzato in una chiavetta USB standard


10

Perché ho bisogno di questo :

Ho Pen Drive pieno di script batch e altri strumenti diagnostici. Ho 75 PC stand-alone (non in rete), principalmente con Win-XP-Pro SP-2, in 2 Labs. Spesso devo accedere a ciascun PC con un account amministratore per configurare o diagnosticare qualcosa.

Quindi, quando avvio un PC, ogni volta devo selezionare manualmente il nome utente dalla schermata di accesso e anche digitare la sua password.

Ora voglio accedere all'amministratore Acc. Automaticamente (programmaticamente) se la mia pen drive è collegata al PC.

Quello che so:

So che è possibile eseguire script (file batch) prima dell'accesso dell'utente in XP / Win7. Ho scritto un file batch e salvato sul PC locale. L'ho configurato in criteri di gruppo per eseguirlo all'avvio del sistema (Posizione dell'oggetto Criteri di gruppo: Configurazione computer \ Impostazioni di Windows \ Script (Avvio / Arresto) \ Sartup ). Questo file batch rileva correttamente "se la pen drive è connessa o meno.

Ho un altro file batch (attualmente vuoto) memorizzato su Pen Drive.

Il primo file batch cerca in tutte le unità dalla C alla Z il secondo file batch (login.bat) usando un ciclo, se il file è presente presuppone che la pen drive sia presente e chiama ulteriormente il secondo file batch (login.bat) per procedere.

Quello che non so:

Ora non so quale dovrebbe essere il codice del file login.bat o non so 'come accedere pragmaticamente.

Quali sono le altre alternative in mente:

Non è necessario utilizzare solo un file batch. Posso anche considerare "se hai altre opzioni per l'accesso automatico come l'utilizzo VB Scripto qualsiasi altro eseguibile di terza parte",

Modificare:

In base a questa domanda Imposta utente per l'accesso automatico su Windows tramite script batch È possibile creare uno script per modificare le voci di registro e consentire l'accesso automatico. Anche se funziona, devi riavviare il PC per applicare le modifiche. Che è qualcosa che voglio evitare. Ci vuole più tempo per eseguire lo script e riavviare che semplicemente accedere personalmente.

Vorrei poter accedere automaticamente, su richiesta. Ciò significa che una volta collegato il mio Pen Drive, lo script dovrebbe essere in grado di accedere, nell'account amministratore senza riavviare il PC.

Ho letto sul web che può essere raggiunto creando un file dll GINA, ma non ho esperienza in quel campo. Qualche idea su come implementarlo?



@ DA-Come puoi dire che è duplicato di "Imposta utente per l'accesso automatico ...".? Hai letto la spiegazione completa della domanda? E sai cosa si intende con "Impostazione di un utente per l'accesso automatico. Questo non è il duplicato di uno specificato da te. Non voglio impostare un utente per l'accesso automatico ogni volta che accendi il PC. Ciò consentirà il utente per accedere automaticamente indipendentemente dalla Pen Drive allegata o meno. Ho bisogno di un file batch o di un file vbscript per avviare il login "Solo se la mia pen drive è collegata al PC. Leggi attentamente la domanda completa.
Ajaib Singh

@DA Signore, ho letto attentamente la risposta specificata. Anche Internet è pieno di questo tutorial. 1 'non controlla la presenza di Pen Drive per consentire condizionalmente l'accesso automatico. 2nd 'Come hai evidenziato l'opzione "Imposta quante volte dovrebbe accedere". Non è adatto a me. Lasciami spiegare perché. Ho solo 2 possibili valori che possono essere assegnati a "Imposta quante volte dovrebbe accedere". Il primo è 1 e il secondo è "maggiore di uno"
Ajaib Singh,

Se lo imposto come 1: consentirà l'accesso automatico solo una volta. Al prossimo avvio 'devo inserire nome utente e password. Se lo imposto su un valore maggiore di 1 (dire 10), accederà automaticamente al numero di volte specificato. Ora, fino alla scadenza del numero di volte specificato, per impostazione predefinita ogni utente accederà all'account admin. Che non voglio. Il mio requisito è: "Consenti numero infinito di accessi" fintanto che la mia pen drive è connessa, altrimenti non consentire l'accesso automatico.
Ajaib Singh,

2
Domande: (1) Hai un solo accesso per tutti i computer con lo stesso utente / password? (2) È possibile installare una soluzione software (se esiste) su tutti i computer? (3) Pagheresti per un prodotto commerciale?
harrymc,

Risposte:


2

È possibile accedere in modo programmatico a Windows, ma non con un semplice file batch. Invece è necessario creare una DLL usando C ++ (o forse C # - ma non è raccomandato ). In Windows XP (e precedenti), questa funzione si chiama GINA .
(A partire da Vista è necessario creare un provider di credenziali.)

Riferimento: accedere a Windows XP in modo programmatico


Ciao wp78de "; Ho risolto il mio problema con VB Script. Che invia semplicemente Chiavi nella schermata di accesso e Il mio account amministratore viene eseguito l'accesso. Grazie per la risposta.
Ajaib Singh

1

Ho trovato la soluzione per caso da solo. Come menzionato nella domanda, ho 2 script: 1o risiede nel computer locale e 2o risiede in Pen Drive. 1st (.bat) è preconfigurato per l'esecuzione all'avvio del sistema ( Vedi come assegnare gli script di avvio del computer? ) E chiama 2nd (.vbs) se è collegata la pen drive.

Come funziona:

Il funzionamento del primo file è già descritto nella domanda; e lavorare sulla seconda sceneggiatura è molto semplice ma soddisfa i miei bisogni. Questo script invia semplicemente i tasti premuti sulla schermata di accesso nella stessa sequenza in cui digito sulla tastiera per l'accesso. Qui vorrei condividere l'intero codice di entrambi gli script. Spero che questo possa aiutare molti come me, che non vogliono interferire con i file del sistema operativo interno come GINA.

Il codice è:

1st Script (Logon Script)

Nome: "Find PD.bat"

Posizione:

"%SYSTEMROOT%\System32\GroupPolicy\Machine\Scripts\Startup\Find PD.bat"

Codice

@ECHO OFF
SET vCount=1
set LogFl=%~d0%~p0%Find PD.log
echo Process Started...>"%LogFl%"

:RECHK
SET PD=
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
    IF EXIST "%%i:\OTHER\RESTORE\OTHER\FillCred.vbs" (
        SET PD=%%i
    )
)

:FOUND
echo:>>"%LogFl%"
IF /I DEFINED PD (
    echo %time% : Pen Drive Found with '%PD%' Drive Letter>>"%LogFl%"
    "%PD%:\OTHER\RESTORE\OTHER\FillCred.vbs"
) ELSE (
    IF %vCount% LSS 11 (
        set /a "vCount=vCount+1"
        echo %time% : Retry: %vCount% >>"%LogFl%"
        ping -n 2 -w 200  1.1.1.1>nul
        GOTO RECHK
    ) ELSE (
        echo %time% : Pen Drive Not Found. Exiting>>"%LogFl%"
        EXIT /b 1
    ) 
)
:EOF

2 ° Script:

Nome: "FillCred.vbs"

Posizione:

"<PenDriveRoot>\OTHER\RESTORE\OTHER\FillCred.vbs"

Codice:

set WshShell = CreateObject("WScript.Shell")
WScript.sleep 1000
WshShell.SendKeys "{DOWN}"
WScript.sleep 50
WshShell.SendKeys "ReplaceThisWithYourPassword"
WScript.sleep 50
WshShell.SendKeys "{ENTER}"

Ricorda:

1) Questo è testato solo su Windows XP.

2) Funzionerà solo se Windows mostra la schermata di accesso predefinita (aka 'Schermata di benvenuto')

3) Devi modificare il 2o script per le tue sequenze di tasti.

4) Questo non funzionerà se il tuo sistema richiede di premere Ctrl + Alt + Canc prima dell'accesso.

5) Questa è una soluzione molto semplice, ma puoi renderla avanzata modificando il 2 ° Script. funzionerà fintanto che il sistema consentirà di premere i tasti sulla schermata di accesso.

Grazie.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.