Automatische Anmeldung unter Windows XP / Win-7 mithilfe einer Batchdatei (oder eines VB-Skripts), die auf einem Standard-USB-Stick gespeichert ist

10

Warum ich das brauche :

Ich habe Pen Drive voller Batch-Scrips und anderer Diagnosetools. Ich habe 75 eigenständige (nicht vernetzte) PCs, hauptsächlich mit Win-XP-Pro SP-2, in 2 Labs. Ich muss mich oft bei jedem PC mit einem Administratorkonto anmelden, um etwas zu konfigurieren oder zu diagnostizieren.

Wenn ich also einen PC starte, muss ich jedes Mal den Benutzernamen manuell aus dem Anmeldebildschirm auswählen und auch sein Passwort eingeben.

Jetzt möchte ich mich bei Admin Acc anmelden. Automatisch (programmgesteuert), wenn mein USB-Stick an den PC angeschlossen ist.

Was ich weiß:

Ich weiß, dass es möglich ist, Skripte (Batch-Dateien) auszuführen, bevor sich der Benutzer in XP / Win7 anmeldet. Ich habe eine Batch-Datei geschrieben und auf einem lokalen PC gespeichert. Ich habe es in einer Gruppenrichtlinie so konfiguriert, dass es beim Systemstart ausgeführt wird (GPO-Speicherort: Computerkonfiguration \ Windows-Einstellungen \ Skripte (Start / Herunterfahren) \ Sartup ). Diese Batch-Datei erkennt erfolgreich, ob das USB-Stick angeschlossen ist oder nicht.

Ich habe eine andere Batch-Datei (derzeit leer) auf dem Pen Drive gespeichert.

Die 1. Batch-Datei durchsucht alle Laufwerke von C bis Z mithilfe einer Schleife nach der 2. (login.bat) Batch-Datei. Wenn die Datei vorhanden ist, wird davon ausgegangen, dass ein USB-Stick vorhanden ist, und die weitere Batch-Datei (login.bat) wird aufgerufen, um fortzufahren.

Was ich nicht weiß:

Jetzt weiß ich nicht, wie der Code der Datei login.bat lauten soll, oder ich weiß nicht, wie ich mich pragmatisch anmelden soll.

Was sind andere Alternativen im Auge:

Es ist nicht erforderlich, nur eine Batchdatei zu verwenden. Ich kann auch überlegen, ob Sie eine andere Option für die automatische Anmeldung haben, z. B. die Verwendung VB Scripteiner anderen ausführbaren Datei für den 3. Teil.

Bearbeiten:

Entsprechend dieser Frage Benutzer für automatische Anmeldung unter Windows über Batch-Skript festlegen Ich kann ein Skript erstellen, um Registrierungseinträge zu ändern und die automatische Anmeldung zuzulassen. Obwohl dies funktioniert, müssen Sie Ihren PC neu starten, damit die Änderungen übernommen werden. Welches ist etwas, das ich vermeiden möchte. Das Ausführen und Neustarten des Skripts dauert länger als das persönliche Anmelden.

Ich möchte mich bei Bedarf automatisch anmelden können. Dies bedeutet, dass das Skript mich nach dem Anschließen meines Pen Drive in der Lage sein sollte, mich im Administratorkonto anzumelden, ohne den PC neu zu starten.

Ich habe im Internet gelesen, dass dies durch das Erstellen einer GINA-DLL-Datei erreicht werden kann, aber ich habe keine Erfahrung auf diesem Gebiet. Irgendwelche Ideen, wie dies umgesetzt werden kann?

Ajaib Singh
quelle
@ DA-Wie können Sie sagen, dass es sich um ein Duplikat von "Benutzer für automatische Anmeldung festlegen ..." handelt? Haben Sie die vollständige Erklärung der Frage gelesen? Und wissen Sie, was unter "Einstellen eines Benutzers für die automatische Anmeldung" zu verstehen ist? Dies ist nicht das Duplikat eines von Ihnen angegebenen Benutzers. Ich möchte nicht bei jedem Einschalten des PCs einen Benutzer für die automatische Anmeldung festlegen Benutzer, der sich automatisch anmeldet, unabhängig davon, ob das USB-Stick angehängt ist oder nicht. Ich benötige eine Batch-Datei oder eine VBScript-Datei, um die Anmeldung zu starten. 'Nur wenn mein USB-Stick an den PC angeschlossen ist. Lesen Sie die vollständige Frage sorgfältig durch.
Ajaib Singh
@DA Sir, ich habe die angegebene Antwort sorgfältig gelesen. Sogar das Internet ist mit diesem Tutorial voll. 1. Es wird nicht überprüft, ob ein Pen Drive vorhanden ist, um die automatische Anmeldung bedingt zuzulassen. 2. 'Wie Sie die Option "Festlegen, wie oft es sich anmelden soll" hervorgehoben haben. Es ist nicht für mich geeignet. Lassen Sie mich erklären, warum. Ich habe nur 2 mögliche Werte, die "Festlegen, wie oft es sich anmelden soll" zugewiesen werden können. 1. ist 1 und 2. ist "größer als eins"
Ajaib Singh
Wenn ich es auf 1 setze: Es erlaubt nur einmal die automatische Anmeldung. Bei den nächsten Starts muss ich Benutzername und Passwort eingeben. Wenn ich es größer als 1 (Say 10) setze, wird es sich automatisch so oft automatisch anmelden. Bis die angegebene Anzahl von Malen abgelaufen ist, wird jeder Benutzer standardmäßig bei einem Administratorkonto angemeldet. Was ich nicht will. Meine Anforderung lautet: "Unendliche Anzahl von Anmeldungen zulassen", solange mein USB-Stick angeschlossen ist. Andernfalls ist die automatische Anmeldung nicht zulässig.
Ajaib Singh
2
Fragen: (1) Haben Sie nur eine Anmeldung für alle Computer mit demselben Benutzer / Passwort? (2) Können Sie eine Softwarelösung (falls vorhanden) auf allen Computern installieren? (3) Würden Sie für ein kommerzielles Produkt bezahlen?
Harrymc

Antworten:

2

Es ist möglich, sich programmgesteuert bei Windows anzumelden, jedoch nicht mit einer einfachen Batchdatei. Stattdessen müssen Sie eine DLL mit C ++ erstellen (oder vielleicht C # - aber es wird nicht empfohlen ). In Windows XP (und früher) heißt diese Funktion GINA .
(Ab Vista müssen Sie einen Anmeldeinformationsanbieter erstellen.)

Referenz: Melden Sie sich programmgesteuert bei Windows XP an

wp78de
quelle
Hi wp78de "; Ich habe mein Problem mit VB Script gelöst. Die senden nur Schlüssel auf dem Anmeldebildschirm und mein Administratorkonto wird angemeldet. Danke für die Antwort.
Ajaib Singh
1

Ich habe die Lösung versehentlich selbst gefunden. Wie in Frage erwähnt, habe ich 2 Skripte: 1. befindet sich auf dem lokalen Computer und 2. befindet sich in Pen Drive. 1st (.bat) ist für die Ausführung beim Systemstart vorkonfiguriert ( siehe Zuweisen von Computer-Startskripten? ) Und ruft 2nd (.vbs) auf, wenn ein USB-Stick angeschlossen ist.

Wie es funktioniert:

Die Arbeitsweise der 1. Datei ist bereits in Frage beschrieben; und die Arbeit mit dem 2. Skript ist sehr einfach, erfüllt aber meine Bedürfnisse. Dieses Skript sendet nur Tastenanschläge auf dem Anmeldebildschirm in der gleichen Reihenfolge, in der ich sie für die Anmeldung auf der Tastatur eingebe. Hier möchte ich den gesamten Code beider Skripte teilen. Ich hoffe, dies hilft vielen wie mir, die interne Betriebssystemdateien wie GINA nicht stören möchten.

Der Code lautet:

1. Skript (Anmeldeskript)

Name: "Find PD.bat"

Ort:

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

Code

@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. Skript:

Name: "FillCred.vbs"

Ort:

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

Code:

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

Merken:

1) Dies wird nur unter Windows XP getestet.

2) Dies funktioniert nur, wenn Ihr Windows den Standard-Anmeldebildschirm anzeigt (auch bekannt als "Begrüßungsbildschirm").

3) Sie müssen das 2. Skript für Ihre Tastenfolgen ändern .

4) Dies funktioniert nicht, wenn Ihr System vor dem Anmelden Strg + Alt + Entf drücken muss.

5) Dies ist eine sehr einfache Lösung, aber Sie können sie durch Bearbeiten des 2. Skripts erweitern. Dies funktioniert so lange, wie Ihr System Tastenanschläge auf dem Anmeldebildschirm zulässt.

Vielen Dank.

Ajaib Singh
quelle