Cara membuat kata sandi & pengguna yang tidak pernah kedaluwarsa melalui pengguna bersih melalui file .bat


23

Saya menggunakan a .bat fileuntuk membuat pengguna dan kata sandi di tingkat sistem operasi windows.

Masalah yang saya hadapi adalah ketika saya menyampaikan EXPIRES:NEVERkata sandi, ketika pengguna dibuat, "Password never expires"kotak centangnya tidak dicentang (artinya kata sandi yang tidak pernah kedaluwarsa dipilih untuk pengguna yang dibuat itu) dan pengguna kedaluwarsa secara otomatis setelah 90 hari.

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

Di atas adalah baris kode utama, saya meneruskan nama pengguna dan kata sandi dari file teks dan menjalankan file .bat.

Jawaban:


34

Tambahkan baris ini ke file batch:

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

NB: Saya percaya ini hanya akan bekerja dengan akun LOCAL, bukan akun DOMAIN. Tetapi tampaknya itulah yang Anda butuhkan ...
Glenn Sullivan

1
Jawaban yang diterima akan mencoba mengubah pengguna lokal dan pengguna domain, jika keduanya ada dengan nama pengguna itu. (Mungkin tidak akan memiliki hak untuk mengubah pengguna domain, dan akan mengembalikan "Kegagalan umum" untuk bagian itu, tetapi setidaknya itu akan mencoba.) Jika Anda hanya ingin mengubah pengguna lokal, bukan pengguna domain dengan nama yang sama jika kebetulan ada, kemudian gunakan yang berikut: WMIC USERACCOUNT WHERE (Name = '% 1' dan Domain = '% computername%') SET PasswordExpires = FALSE
Ronny D'Hoore

2

Opsi / kedaluwarsa adalah untuk akun, bukan untuk kata sandi, periksa bantuan perintah.

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

Dari dokumentasi: "Menyebabkan akun pengguna kedaluwarsa jika Anda menentukan tanggalnya."


Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Scott Pack

1
Kalimat pertama adalah PENTING. Harus dalam jawaban yang diterima.
AD

1

The net userperintah dapat digunakan pada lokal serta account domain. Gunakan /domainsakelar untuk akun domain.

Misalnya, untuk melihat informasi untuk pengguna domain% 1, gunakan

net user %1 /domain

Daftar lengkap opsi pengguna net tercantum di sini:

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


1

Pengguna AD tunggal

Untuk pengguna direktori aktif, Anda dapat menggunakan perintah dsmod untuk mengubahnya untuk satu pengguna:

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

Banyak pengguna AD

Jika Anda ingin mengatur properti ini secara massal, Anda dapat melakukannya untuk seluruh unit organisasi (OU) dengan menggunakan yang di atas dalam kombinasi dengan dsquery .

Pertama, untuk membuat daftar semua pengguna dalam OU (ini aman untuk dijalankan, karena hanya menampilkan daftar pengguna):

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

Kemudian, dengan anggapan Anda puas dengan output dari perintah di atas, Anda dapat mengirimkannya ke dsmod seperti:

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

Beberapa info lebih lanjut, dengan tangkapan layar, di sini: http://www.petenetlive.com/KB/Article/0000532.htm


0
net accounts /MaxPWAge:unlimited

Membuat kata sandi agar tidak pernah kedaluwarsa; tetapi untuk semua akun di mesin - tidak buruk untuk mesin rumah atau VM


-1

Seperti yang dinyatakan di atas, net usertampaknya tidak mengizinkan otpion untuk mengubah kata sandi hanya kedaluwarsa akun kedaluwarsa (melalui / kedaluwarsa).

Ini yang saya gunakan untuk menghapus kedaluwarsa kata sandi untuk akun saya:

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

Ubah 'nama pengguna' menjadi nama pengguna akun yang ingin Anda ubah.


4
Ini sudah merupakan jawaban yang diterima dari empat tahun lalu.
Sven
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.