Come creare una password e un utente senza scadenza tramite l'utente net tramite il file .bat


23

Sto usando a .bat fileper creare un utente e una password a livello di sistema operativo Windows.

Il problema che sto affrontando è quando passo EXPIRES:NEVERper la password, quando l'utente viene creato, non ha la "Password never expires"casella di controllo selezionata (il che significa che la password non scade mai è selezionata per quell'utente creato) e l'utente scade automaticamente dopo 90 giorni.

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

Quanto sopra è la riga di codice principale, passo il nome utente e la password da un file di testo ed eseguo il file .bat.

Risposte:


34

Aggiungi questa riga al file batch:

WMIC USERACCOUNT WHERE "Name='%1'" SET PasswordExpires=FALSE

NB: credo che funzionerà solo con account LOCAL, non con account DOMAIN. Ma sembra che sia quello che ti serve ...
Glenn Sullivan,

1
La risposta accettata proverà a modificare sia l'utente locale sia l'utente del dominio, se entrambi esistono con quel nome utente. (Forse non avrà i diritti di cambiare l'utente del dominio e restituirà "Errore generico" per quella parte, ma almeno ci proverà.) Se vuoi solo cambiare l'utente locale, non un utente di dominio con il stesso nome se dovesse accadere, quindi utilizzare quanto segue: WMIC USERACCOUNT DOVE (Nome = '% 1' e Dominio = '% nomecomputer%') SET PasswordExpires = FALSE
Ronny D'Hoore

2

L'opzione / scade è per l'account, non per la password, controlla la guida del comando.

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

Dalla documentazione: "Fa scadere l'account utente se si specifica la data".


Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento.
Scott Pack,

1
La prima frase è IMPORTANTE. Dovrebbe essere nella risposta accettata.
d.C.

1

Il net usercomando può essere utilizzato su account sia locali che di dominio. Utilizzare l' /domainopzione per gli account di dominio.

Ad esempio, per visualizzare le informazioni per l'utente di dominio% 1, utilizzare

net user %1 /domain

L'elenco completo delle opzioni utente netto è elencato qui:

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


1

Utente AD singolo

Per gli utenti di Active Directory, è possibile utilizzare il comando dsmod per modificarlo per un singolo utente:

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

Più utenti AD

Se si desidera impostare in blocco questa proprietà, è possibile farlo per un'intera unità organizzativa (OU) utilizzando quanto sopra in combinazione con dsquery .

Innanzitutto, per elencare tutti gli utenti in un'unità organizzativa (questo è sicuro da eseguire, perché genera solo un elenco di utenti):

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

Quindi, supponendo che tu sia soddisfatto dell'output del comando precedente, puoi reindirizzarlo a dsmod in questo modo:

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

Altre informazioni, con schermate, qui: http://www.petenetlive.com/KB/Article/0000532.htm


0
net accounts /MaxPWAge:unlimited

Fa in modo che la password non scada mai; ma per tutti gli account sulla macchina - non male per una macchina domestica o VM


-1

Come indicato sopra, net usernon sembra consentire a otpion di modificare la scadenza della password solo la scadenza dell'account (tramite / scade).

Questo è ciò che ho usato per rimuovere la scadenza della password per il mio account:

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

Cambia "nome utente" con il nome utente dell'account che desideri modificare.


4
Questa è già la risposta accettata da quattro anni fa.
Sven
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.