Spezielle Kennwortänderung im AD per Batch
Es geht um ein kleines Schulprojekt.
Hi ich benötige auf die schnelle mal Hilfe von euch. Und zwar habe ich per Batch ca. 400 User angelegt im AD, die Schüler. Wir haben gesagt das Standardkennwort lautet 1234 für alle gleich. Nun sollen sie sich bei der nächsten Anmeldung ein neues ausdenken. So das soll nicht so wie Ihr denkt gehen und zwar kann ich ja im AD rechte maustaste auf den User machen und sagen "Kennwort bei Neuanmeldung neu festlegen" dann gebe ich wenn ich mich an der Workstation anmelde mein neues PW ein. So da wir hier aber 2 Organisationseinheiten haben (einmal die PC-User zb user123, user124, ... die sollen die Arbeitsplätze identifizieren und die andere OU sind die Schüler bei Namen zB. Schmidt,....) Wir melden uns mit dem PC-User an der Workstation an (also die Anmeldemaske von Windows) da soll das PW nicht geändert werden. Man meldet sich also normal an mit User123 und PW und entsprechender Domäne. So im Autostart liegt nun eine Batch die auf einen persönlichen Ordner zugreift für den jeweiligen Schüler (es wurden auch ca. 400 Ordner angelegt also für jeden der Private mit dementsprechenden Rechten). Die Batch für den persönlichen Ordner ist so aufgebaut: Zuerst wird nach Jahrgang gefragt dann nach Schülername dann das Kennwort. Also ein Netzwerklaufwerk verbinden unter anderen Anmeldedaten. Dort befindet sich ein NET USE drin. So das Problem ist kann ich ihm sagen wenn er sich zu seinem persönlichen Ordner verbinden will, das das PW geändert werden muss, denn meines wissens geht das PW reset nur an Workstations wenn man sich da anmeldet. Und wie kann man dem Script sagen, wenn Kennwort nicht 1234 darf er nicht noch einmal ändern? Sehr umständliche Sache ^^ Danke schonmal
Please also mark the comments that contributed to the solution of the article
Content-Key: 171539
Url: https://administrator.de/contentid/171539
Printed on: May 8, 2024 at 05:05 o'clock
9 Comments
Latest comment
moinsen,
Gruß
- Alte Säcke haben alte Augen und brauchen eine Paue zwischen den Gedankensprüngen.....
Und zwar habe ich per Batch ca. 400 User angelegt im AD, die Schüler.
Wir haben gesagt das Standardkennwort lautet 1234 für alle gleich.
Nun sollen sie sich bei der nächsten Anmeldung ein neues ausdenken.
So das soll nicht so wie Ihr denkt gehen und zwar kann ich ja im AD rechte maustaste auf den User machen und sagen "Kennwort bei Neuanmeldung neu festlegen",
dann gebe ich wenn ich mich an der Workstation anmelde mein neues PW ein.
Wir haben gesagt das Standardkennwort lautet 1234 für alle gleich.
Nun sollen sie sich bei der nächsten Anmeldung ein neues ausdenken.
So das soll nicht so wie Ihr denkt gehen und zwar kann ich ja im AD rechte maustaste auf den User machen und sagen "Kennwort bei Neuanmeldung neu festlegen",
dann gebe ich wenn ich mich an der Workstation anmelde mein neues PW ein.
So da wir hier aber 2 Organisationseinheiten haben (einmal die PC-User zb user123, user124, ... die sollen die
Arbeitsplätze identifizieren und die andere OU sind die Schüler bei Namen zB. Schmidt,....)
Wir melden uns mit dem PC-User an der Workstation an (also die Anmeldemaske von Windows) da soll das PW nicht geändert werden.
Man meldet sich also normal an mit User123 und PW und entsprechender Domäne.
So im Autostart liegt nun eine Batch die auf einen persönlichen Ordner zugreift für den jeweiligen Schüler (es wurden auch ca. 400 Ordner angelegt also für jeden der Private mit
dementsprechenden Rechten).
Arbeitsplätze identifizieren und die andere OU sind die Schüler bei Namen zB. Schmidt,....)
Wir melden uns mit dem PC-User an der Workstation an (also die Anmeldemaske von Windows) da soll das PW nicht geändert werden.
Man meldet sich also normal an mit User123 und PW und entsprechender Domäne.
So im Autostart liegt nun eine Batch die auf einen persönlichen Ordner zugreift für den jeweiligen Schüler (es wurden auch ca. 400 Ordner angelegt also für jeden der Private mit
dementsprechenden Rechten).
Die Batch für den persönlichen Ordner ist so aufgebaut: Zuerst wird nach Jahrgang gefragt dann nach Schülername dann das Kennwort.
Also ein Netzwerklaufwerk verbinden unter anderen Anmeldedaten. Dort befindet sich ein NET USE drin.
Also ein Netzwerklaufwerk verbinden unter anderen Anmeldedaten. Dort befindet sich ein NET USE drin.
- Gibts das auch als Beispiel?
So das Problem ist kann ich ihm sagen wenn er sich zu seinem persönlichen Ordner verbinden will, das das PW geändert werden muss, denn meines wissens geht das PW reset nur an Workstations wenn man sich da anmeldet.
Und wie kann man dem Script sagen, wenn Kennwort nicht 1234 darf er nicht noch einmal ändern? Sehr umständliche Sache ^^ Danke schonmal
Und wie kann man dem Script sagen, wenn Kennwort nicht 1234 darf er nicht noch einmal ändern? Sehr umständliche Sache ^^ Danke schonmal
- "So" kann man(n) das eher lesen - btw: hab ich in deinen Zeilen eine ganze Handvoll "So" gelesen?...
- Du kannst gerne mal in meinen Antworten suchen, da findest du mindestens einen Fred, wo auch jemand herausfinden wollte, welcher AD User noch das Passwort xyz hat.
if exist b:\ Net use B: /d
Net use b: \\server\freigabe 1234 /user:%username%
if not exist b:\ goto hell
Set /p PASS=neues Passwort eingeben
if not "%PASS%"=="" IF not "%PASS%"=="1234" Net user %username% %PASS% /Domain>nul
Net use B: /d
:hell
Gruß
Moin Moin
Wenn du Code Postest, sei doch bitte so gut und verwende die Code Tags aus der .
Ich verstehe zwar nicht warum ihr "doppelte" Benutzerkonten pflegt, aber wenn du TIMOs Ansatz in dein Skript einbaust sollte dein Problem gelöst sein (zumindest dieses).
Gruß L.
Wenn du Code Postest, sei doch bitte so gut und verwende die Code Tags aus der .
... und wenn dort ein NET USER Befehl kommt legt er meines Wissens ein neues Benutzerkonto ... an.
Ohne den Parameter /Add wird kein Konto angelegt. Schau mal hier: http://support.microsoft.com/kb/251394/deIch verstehe zwar nicht warum ihr "doppelte" Benutzerkonten pflegt, aber wenn du TIMOs Ansatz in dein Skript einbaust sollte dein Problem gelöst sein (zumindest dieses).
Gruß L.
Moin
Wenn überhaupt:
Du wirst für das was du vorhast also %username% durch deine Variable %schuelername% ersetzen müssen.
Was die mehrfach Ausführung angeht: Wie wilst du das Skript eigentlich starten lassen?
Manuell, durch den Anwender?
Gruß L.
Bei der Workstation sagte er mir Benutzer nicht gefunden. Ich habe versucht dahinter noch /Domäne zu machen "Net user %username% %PASS% /Domäne >nul" mit demselben ergebnis. HELPMSG 2221.
Wenn überhaupt:
Net User Domäne/%Username% %Pass%
Ich habe die Batch ausgeführt von Timo.
Darüberhinaus verwendet TIMOs Codefetzen die Variable %Username% die den Namen den aktuell angemeldeten User beinhaltet.Du wirst für das was du vorhast also %username% durch deine Variable %schuelername% ersetzen müssen.
Was die mehrfach Ausführung angeht: Wie wilst du das Skript eigentlich starten lassen?
Manuell, durch den Anwender?
Damit verbindet man sich als anderer User sein persönliches Netzlaufwerk
Wie habt ihr das Rechte technisch gelöst?Gruß L.
moin,
siehe da, der Timo hat in der Eile einen groben Denkfehler fabriziert und kommuniziert...
Yupp - von daher ein weiterer ungetesteter Schnellschuss wäre...
Die oben skizzierte Zeile 5 in etwa so abändern...
Und dann auf dem Server eine Schleife bauen, die als Admin \\server\freigabe\ nach cmd abklappert, ausführt und die cmd löscht/verschiebt.
Aber das ist nicht nur ungetstetet aus dem Bauch auch nicht wirklich Wasserdicht und hybsch.
Gruß
Auf dem Server ausgeführt und sie da: Es klappt !
siehe da, der Timo hat in der Eile einen groben Denkfehler fabriziert und kommuniziert...
Habe gerade gelesen, dass man die Datei als Admin ausführen muss um etwas ändern zu können.
Yupp - von daher ein weiterer ungetesteter Schnellschuss wäre...
- Ordner mit Freigabe auf dem Server anlegen, wo jeder das recht hat eine Datei zu erstellen, aber keine Leserechte auf die Ordnerstruktur hat.
Die oben skizzierte Zeile 5 in etwa so abändern...
if not "%PASS%"=="" IF not "%PASS%"=="1234" Net user %username% %PASS% /Domain>\\server\freigabe\%random%%random%%random%%random%.cmd
Und dann auf dem Server eine Schleife bauen, die als Admin \\server\freigabe\ nach cmd abklappert, ausführt und die cmd löscht/verschiebt.
Aber das ist nicht nur ungetstetet aus dem Bauch auch nicht wirklich Wasserdicht und hybsch.
Gruß