So erstellen Sie ein nie ablaufendes Passwort und einen Benutzer über das Internet über die BAT-Datei

23

Ich verwende a .bat file, um einen Benutzer und ein Kennwort auf Windows-Betriebssystemebene zu erstellen.

Das Problem ist, wenn ich als EXPIRES:NEVERKennwort weitergebe, wenn der Benutzer erstellt wird, das "Password never expires"Kontrollkästchen nicht aktiviert ist (dh, das Kennwort läuft nie ab ist für den erstellten Benutzer ausgewählt) und der Benutzer automatisch nach 90 Tagen ab.

Net User %1 %2 /COMMENT:"%3" /EXPIRES:NEVER /PASSWORDCHG:NO /ADD

Das Obige ist die Hauptcodezeile. Ich übergebe den Benutzernamen und das Passwort aus einer Textdatei und führe die .bat-Datei aus.

Sharpeye500
quelle

Antworten:

34

Fügen Sie der Batch-Datei diese Zeile hinzu:

WMIC USERACCOUNT WHERE "Name='%1'" SET PasswordExpires=FALSE
Glenn Sullivan
quelle
NB: Ich glaube, dass dies nur mit LOCAL-Konten funktioniert, nicht mit DOMAIN-Konten. Aber es sieht so aus, als ob Sie
Glenn Sullivan
1
Die akzeptierte Antwort versucht, sowohl den lokalen Benutzer als auch den Domänenbenutzer zu ändern, sofern beide mit diesem Benutzernamen vorhanden sind. (Möglicherweise hat es nicht die Rechte, den Domänenbenutzer zu ändern, und gibt "Allgemeiner Fehler" für diesen Teil zurück, aber es wird zumindest versucht.) Wenn Sie nur den lokalen Benutzer ändern möchten, nicht einen Domänenbenutzer mit dem Gleicher Name, wenn er existieren würde. Verwenden Sie Folgendes: WMIC USERACCOUNT WHERE (Name = '% 1' und Domain = '% computername%') SET PasswordExpires = FALSE
Ronny D'Hoore
2

Die Option / expires ist für das Konto, nicht für das Kennwort. Überprüfen Sie die Befehlshilfe.

http://support.microsoft.com/kb/251394/en-us

In der Dokumentation heißt es: "Lässt das Benutzerkonto ablaufen, wenn Sie das Datum angeben."

Qkolnek
quelle
Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
Scott Pack
1
Der erste Satz ist WICHTIG. Sollte in akzeptierter Antwort sein.
AD
1

Der net userBefehl kann sowohl für lokale als auch für Domänenkonten verwendet werden. Verwenden Sie den /domainSchalter für Domänenkonten.

Verwenden Sie beispielsweise, um die Informationen für den Domänenbenutzer% 1 anzuzeigen

net user %1 /domain

Die vollständige Liste der Netto-Benutzeroptionen finden Sie hier:

http://support.microsoft.com/kb/251394

David Paige
quelle
1

Einzelner AD-Benutzer

Für Active Directory-Benutzer können Sie den Befehl dsmod verwenden , um ihn für einen einzelnen Benutzer zu ändern:

dsmod user "CN=username,OU={User Org Unit},DC... etc" -pwdneverexpires yes

Mehrere AD-Benutzer

Wenn Sie diese Eigenschaft als Bulk-Set festlegen möchten, können Sie dies für eine gesamte Organisationseinheit (OU) tun, indem Sie das oben genannte in Kombination mit dsquery verwenden .

Um zunächst alle Benutzer in einer Organisationseinheit aufzulisten (dies ist sicher auszuführen, da nur eine Liste von Benutzern ausgegeben wird):

dsquery user "OU={your target OU},DC={your domain},DC={your domain extension}"

Vorausgesetzt, Sie sind mit der Ausgabe des obigen Befehls zufrieden, können Sie sie wie folgt an dsmod weiterleiten:

dsquery user "OU={your target OU},DC={your domain},DC={your domain extension}" | dsmod user -pwdneverexpires yes

Weitere Informationen mit Screenshots finden Sie hier: http://www.petenetlive.com/KB/Article/0000532.htm

Isak Savo
quelle
0
net accounts /MaxPWAge:unlimited

Lässt das Passwort niemals ablaufen. aber für alle Konten auf dem Computer - nicht schlecht für einen Heimcomputer oder eine VM

hB0
quelle
-1

Wie oben angegeben, net userscheint es dem otpion nicht zu erlauben, das Ablaufdatum des Passworts nur für das Ablaufdatum des Kontos zu ändern (durch / läuft ab).

So entferne ich den Kennwortablauf für mein Konto:

wmic UserAccount where Name='username' set PasswordExpires=False

Ändern Sie "Benutzername" in den Benutzernamen des Kontos, das Sie ändern möchten.

Richard Smith Jr
quelle
4
Dies ist bereits die akzeptierte Antwort von vor vier Jahren.
Sven