knumskull
Goto Top

Windows automatisch anmelden

Das ganze wird benötigt, um einen automatischen Wechsel zwischen 2 Domänen zu realisieren.

Moin,

also kurz zur Problemerklärung.
Ich installiere Rechner über nen RIS, welcher aber in seiner eigenen Domäne ist. Die fertigen Rechner sollen dann in eine andere integriert werden. Für diesen Fall habe ich ein script geschrieben, was eben alle diese Abhandlungen ausführt. Folgendermaßen läuft das ganze ab.

1. Verlassen der alten Domäne
2. ändern des Computernamens
3. Neustart --> danach automatische Anmeldung für Fortführung des scriptes
4. Eintritt in die neue Domäne
5. Neustart --> hier klappt die automatische Anmeldung
6. Ende des Scriptes und abschließende Einstellungen

Realisieren tue ich die Anmeldung über die Registry.

	REG add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" /v AutoAdminLogon /t REG_SZ /d "1" /f  
	REG add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" /v DefaultDomainName /t REG_SZ /d %COMPUTERNAME% /f  
	REG add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" /v DefaultUserName /t REG_SZ /d %wAdmin% /f  
	REG add "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" /v DefaultPassword /t REG_SZ /d %wPassword% /f  

Also ich kann mir Vorstellen, das das Problem daran liegt, das der Rechner einmal in der Domäne ist und einmal nicht. Wenn er in der neuen Domäne ist, dann klappt ja die Automatische Anmeldung.

Hat irgendwer eine Idee, was man eventuell noch einstellen muss, wenn man einen Rechner in einer Workgroup hat und diesen automatisch anmelden möchte.

Gruß Steffen

Content-Key: 57532

Url: https://administrator.de/contentid/57532

Printed on: April 26, 2024 at 22:04 o'clock

Member: GODOFWAR
GODOFWAR Apr 25, 2007 at 07:42:43 (UTC)
Goto Top
es gibt so wake over lan tools die könnten dir evtl helfen. anders weis ich immom nicht wie.

mfg GODOFWAR
Member: Knumskull
Knumskull Apr 25, 2007 at 09:30:33 (UTC)
Goto Top
ich glaube du hast mich da falsch verstanden. Der Rechner ist an, es soll nur der Administrator angemeldet werden, damit das script weiter ausgeführt werden kann.

Derzeit muss ich mich halt nach dem 1. Neustart noch manuell anmelden. Dies würde ich gern automatisch haben.

Steffen
Member: Knumskull
Knumskull May 03, 2007 at 08:45:26 (UTC)
Goto Top
hat keiner weiter eine Idee? ich bin immer noch auf der Suche danach.
Member: Flo985
Flo985 Jun 23, 2008 at 12:01:27 (UTC)
Goto Top
Hi, ich habe ein ähnliches Problem.

Ich möchte per batch den rechner neu starten und ihn dann wieder automatisch anmelden lassen. Bin in einer Domäne.
Kannst du oder jemand anders mir helfen, wäre wirklich wichtig.
Member: Knumskull
Knumskull Jun 23, 2008 at 12:12:11 (UTC)
Goto Top
Hi,

also wenn du normal in der Domäne bist, sollte dies kein Problem darstellen.

Wenn du die obigen Registry-einträge 1,3,4 benutzt und entsprechend deine Einstellungen vornimmst, sollte das kein Problem sein.

nach dem Neustart sollten die Einträge wie Passwort + Auoadminlogon wieder gelöscht, bzw geändert werden.

Dies solltest du gleich mittels automatismus in den autostart mit schreiben ... also wenn du eingeloggt bist, eine Batch-datei aufrufen, die du in deinem neustart-script erstellst, welche dann die Einträge wieder entfernt

Gruß
STeffen
Member: Flo985
Flo985 Jun 23, 2008 at 12:30:40 (UTC)
Goto Top
Hi, danke da habe ich auch schon dran gedacht... Leider habe ich absolut keinen Plan von
batchprogrammierung.
Könntest du mir da evtl. helfen?

Also, er muss die Registry umschreiben, das er nach neustart automatisch anmeldet. User wäre Para-Admin. Dann muss er neustarten. Diese .bat Datei möchte ich bei mir am Rechner ausführen.

Dann nachdem er neu gestartet hat und sich automatisch angemeldet hat, müssen die geschriebenen Registy-Einträge wieder rückgängig gemacht werden. Diese Datei kommt in den Autostart des Rechners.

So sollte es funktionieren, oder? Also rein logisch gesehen. Nur wie gesagt, Umsetzung habe ich keine Ahnung....
Member: Knumskull
Knumskull Jun 23, 2008 at 12:35:27 (UTC)
Goto Top
ist der user Para-Admin aktuell angemeldet?
Member: Flo985
Flo985 Jun 23, 2008 at 12:36:14 (UTC)
Goto Top
ja, er ist aktuell angemeldet und soll auch wieder angemeldet werden. (also nach dem neustart)
Member: Flo985
Flo985 Jun 23, 2008 at 12:56:53 (UTC)
Goto Top
So, werde jetzt Feierabend machen, muss noch zum Zahnarzt face-sad
Werde morgen früh wieder da sein, dann gehts weiter. Wenn bis dahin noch jemand Vorschläge oder ähnliches hat, wäre ich sehr dankbar. Aber ich denke, das so wie ich es beschrieben habe, es am komfortabelsten wäre.
Bis Morgen und schon mal vielen Dank Steffen
Member: Knumskull
Knumskull Jun 23, 2008 at 13:12:46 (UTC)
Goto Top
ich bin mir nicht ganz sicher, ob das schon alles ist, aber kannst es ja mal auf einem beliebigen Computer testen. Einfach die unteren Zeilen kopieren und als computer_restart.cmd abspeichern und dann ausführen.

rem # restart_computer.cmd
rem # written by Steffen Frömer
rem # steffen.froemer@dlr.de

rem # Passwort
set /p wPassword=Passwort für %username% eingeben:

rem # Automatisches Anmelden durch aktuellen Benutzer nach neustart.
REG add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d "1" /f
REG add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d %username% /f
REG add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d %wPassword% /f

rem # Datei für das entfernen der Reg-änderungen nach neustart
echo REG add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d "1" /f > %windir%\Temp\remove_settings.bat
echo REG delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /f >> %windir%\Temp\remove_settings.bat

rem # Regschlüssel für das entfernen der Einträge für Autostart
REG add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v auto_restart /t REG_SZ /d "%WINDIR%\Temp\remove_settings.bat" /f

rem # Rechner neustarten (-restart -force -10 sekunden -comment)
shutdown -r -f -t 10 -c "automatischer Neustart"
Member: Flo985
Flo985 Jun 24, 2008 at 06:10:50 (UTC)
Goto Top
hi, also das alles muss ich jetzt in eine .bat machen und ausführen? Das wars? Der Neustart ist doch an der falschen stelle, oder? Ich brauch doch eine .bat um die Registry zu ändern, so dass er sich automatisch anmeldet und neu startet.

Und dann brauch ich doch noch eine .bat die nach dem Neustart die Reg-Einträge wieder rückgängig macht, oder?
Member: Knumskull
Knumskull Jun 24, 2008 at 06:25:41 (UTC)
Goto Top
moin, du nimmst den ganzen quelltext und kopierst ihn in eine .bat oder .cmd-Datei. In dieser Datei werden die Einträge für den neustart in die Registry geschrieben

Ebenfalls wird in c:\windows\temp eine Datei erzeugt, die nach dem neustart aufgerufen wird, welche die Einträge wieder umbiegt. Also benötigst du nur eine Datei. Die Datei in dem Temp-Verzeichnis bleibt allerdings vorhanden, da ich nicht weiß, wie man das effizient lösen kann, diese auch zu löschen. Wenn man das ebenfalls über RunOnce macht, kann es passieren, das die Einträge in der Registry nicht entfernt werden und somit das passwort im klartext drin steht.

Am besten versuchst du das auf einem Rechner, der nicht unbedingt benötigt wird und überprüfst auch die Änderungen. Da ich das nur schnell zusammengeschrieben habe, können noch kleine Fehler enthalten sein.
Member: Flo985
Flo985 Jun 24, 2008 at 06:28:27 (UTC)
Goto Top
Habe die Datei jetzt einfach mal ausprobiert!!! Funktioniert. Er hat neu gestartet und sich automatisch angemeldet. Dann habe ich wieder neu gestartet und die Anmeldung kam. Klasse. Wirklich sensationell.

Jetzt nur noch was anderes als, ich die Datei ausgeführt habe, hat er mich nach dem Passwort für den User gefragt. Wenn ich jetzt diese Zeile bearbeite

REG add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d 1234567 /f

und 1234567 anstatt %Password% schreibe, sprich das Passwort des Users, dann dürfte er mich nicht mehr fragen, oder? Und muss ich das Passwort so schreiben %1234567% oder ohne %???

Dann ist die nächste Frage noch, wenn ich die .bat Datei auf den entfernten Rechner lege, wie kann ich von meinem Rechner aus diese .bat starten?
Member: Knumskull
Knumskull Jun 24, 2008 at 06:36:56 (UTC)
Goto Top
das freut mich ...

um das Passwort nicht mehr abzufragen, musst du wie schon richtig vermutet, die Zeile ändern, die du genannt hast. Das Passwort wird ohne %% angegeben. ein Wort in %% eingeschlossen, bezeichnet eine Variable, in dem Fall die Variable %wPassword%, welche an 2.? Stelle des Skriptes abgefragt wird.

Diese Zeile musst du auch noch entfernen. also folgende
set /p wPassword=...
da sonst trotzdem noch nach dem Passwort gefragt wird.

Allerdings ist das ein Sicherheitsrisiko. Du solltest dann die Berechtigungen für die Batch-datei entsprechend setzen.

Für das Remote-Ausführen empfehle ich das Tool psexec von sysinternals.

http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

Der Aufruf ist dann wie folgt.
psexec.exe //remotecomputer -u Para-Admin cmd /k "c:\auto_restart.cmd"

damit sollte es funktionieren.
Member: Flo985
Flo985 Jun 24, 2008 at 06:45:39 (UTC)
Goto Top
hi, sorry ich das ich nochmal frage!! Was genau mache ich dann mit psexec? Ich habe doppelklick drauf gemacht und agree. Und dann? Es kam dann nichts mehr
Member: Knumskull
Knumskull Jun 24, 2008 at 06:49:54 (UTC)
Goto Top
psexec.exe //remotecomputer -u Para-Admin cmd /k "c:\auto_restart.cmd"

so musst du das aufrufen ... das tool erwartet parameter
Member: Flo985
Flo985 Jun 24, 2008 at 06:56:12 (UTC)
Goto Top
hi, also ich teste an meinem zweitrechner und habe die Programmzeile auch als .bat Datei gemacht und von einem entfernten PC ausgeführt, aber es passiert nichts. Habe natürlich Benutzername und ip-adresse angepasst. Die computer_restart.bat habe ich auf c gelegt und in der programmzeile den Namen angepasst. Sry, ich raff es nicht.

Was genau mache ich denn nun mit psexec? Das liegt jetzt einfach am desktop rum, oder was mache ich damit?
Member: Knumskull
Knumskull Jun 24, 2008 at 08:43:37 (UTC)
Goto Top
psexec ist ein tool, um auf einem entfernten rechner etwas zu starten. Lies dir am besten dazu die Hilfe durch.

Oben habe ich den Aufruf hingeschrieben. der Aufruf muss von dem Punkt aus gestartet werden (in einer Kommandozeile) wo sich auch das psexec befindet
Member: Flo985
Flo985 Jun 24, 2008 at 08:44:06 (UTC)
Goto Top
Wenn ich es ausführe blitzt das command-fenster kurz auf, aber ohne das ich was lesen kann. Das wars.
Member: Knumskull
Knumskull Jun 24, 2008 at 08:51:28 (UTC)
Goto Top
psexec ist ein kommandozeilen-tool ... und in einer solchen sollte es auch ausgeführt werden

klicke auf START -> AUSFÜHREN und gibt dann folgendes ein

cmd

danach öffnet sich eine Kommandozeile. Dort rufst du das psexec auf.

Eine einfach möglichkeit eine datei an einem anderen ort im Dateisystem aufzurufen, ohne an den Ort der Datei zu gehen, ist.

Ziehe die Datei, die du ausführen möchtest per Drag&Drop in das KommandozeilenFenster ... bei deinem Fall sollte dann in dem Fenster ungefähr folgendes stehen:

c:\Dokumente undEinstellungen...: "C:\Dokumente...\Desktop\psexec.exe"

und dann fügst du mit leerzeichen getrennt einfach folgende Sachen hinten an

//remotecomputer -u Para-Admin cmd /k "c:\auto_restart.cmd"

dann sollte es klappen.
Member: Flo985
Flo985 Jun 24, 2008 at 09:23:13 (UTC)
Goto Top
hi, hat jetzt endlich geklappt das ich was schreiben konnte, nur jetzt sagt er mir eine Fehlermedlung:
psexec could not start cmd on 192.168.xx.xxx
Anmeldung fehlgeschlagen: unbekannter Benutzername oder falsches Kennwort.

Wenn ich mein Befehl ausführe, fragt er mich nach dem Kennwort, dann gebe ich es ein und dann kommt der Fehler.
Member: Knumskull
Knumskull Jun 24, 2008 at 09:34:03 (UTC)
Goto Top
musst du mal ein bisschen mit dem Benutzernamen rumspielen ...

ist der Benutzer Para-Admin ein Domänenbenutzer, wenn ja, musst du die Zeile folgendermaßen aussehen

psexec -u DOMAIN\USERNAME cmd /k ...

wenn nicht versuch mal folgendes

psexec -u COMPUTERNAME\USERNAME cmd /k ...

du kannst diese Zeile dann auch in eine Bat-Datei schreiben, dann musst du das nicht immer von Hand eingeben.
Member: Flo985
Flo985 Jun 24, 2008 at 09:35:07 (UTC)
Goto Top
hi, leute, jetzt hat es geklappt. Hab die Befehlzeile einfach abgeändert.
\\ip-Adresse c:\test\auto_restart.cmd

Ich danke dir vielmals, ohne dich wär ich soweit nicht gekommen.

Wobei eine Frage hätte ich noch....

Ich bin im IP-Range 192.168.0.xxx
ein anderer Rechner in 172.16.1.xxx

jetzt möchte ich auf den Rechner zugreifen ohne, meine IP zu ändern. Unter hinzufügen habe ich versucht bei mir noch ähnlich IP hinzuzunehmen, nur dann klappt mein Bereich nicht mehr. Jemand eine Idee, ohne eine zweite Netzwerkkarte einzubauen?
Member: Knumskull
Knumskull Jun 24, 2008 at 09:38:51 (UTC)
Goto Top
wenn du den Rechner pingen kannst, sollte das kein problem darstellen.

Ansonsten kannst du ohne Router nix machen. Da lautet dann Routing dein Stichwort.
Es sind 2 unterschiedliche Netzwerke und ohne irgendeine Verbindung hast du keine Möglichkeit darauf zuzugreifen.
Member: Flo985
Flo985 Jun 24, 2008 at 09:45:11 (UTC)
Goto Top
Sie hängen ja im gleichen netz. Nur eine Unterschiedliche Adresse!!!!
Und ein ping bekomme ich ja noch gar nicht
Member: Knumskull
Knumskull Jun 24, 2008 at 10:01:17 (UTC)
Goto Top
Das kannst du so nicht sagen.

Sie sind vielleicht gemeinsam in einem physischen Netzwerk, allerdings ist Netz nicht gleich Netz

Vielleicht solltest du dich dazu ein wenig belesen.

http://de.wikipedia.org/wiki/IP-Adresse

der Artikel beinhaltet eigentlich eine gute übersicht. Was wichtig ist, ist zu verstehen inwiefern eine IP-Adresse mit seiner Subnetzmaske zusammenspielt und was diese genau zu sagen hat.

in deinem Fall ist es bestimmt so, das dein rechner z.b. die IP

IP: 192.168.0.1 und
netmask: 255.255.255.0

besitzt. Dies bedeutet, das die ersten 24Bit deine Adresse fest gesetzt sind.

d.h. 192.168.0.0-192.168.255 ist dein Netz und in diesem bist du gefangen.

Um diesen gesamten Sachverhalt zu verstehen, wären noch Stichworte wie

CLASS A, Class B, Class C ... Netze (auch wenn dieses Verfahren veraltet ist, hilft es vielleicht beim Verständnis), CIDR (Classless inter Domain routing) = aktuell angewendetes Verfahren. Das sind alles ein paar Begriffe, die man vielleicht lesen sollte, um sich den Sachverhalt ein wenig näher zu bringen.
Networking ist keine kleine Sache und manchmal ziemlich schwer zu verstehen.
Member: Flo985
Flo985 Jun 24, 2008 at 10:03:29 (UTC)
Goto Top
ok, ich schau es mir mal an. Danke dir.