Bagaimana saya bisa tahu kapan kata sandi pengguna yang diberikan akan kedaluwarsa?


16

Apakah ada cara dari konsol manajemen komputer atau baris perintah untuk menentukan kapan kata sandi pengguna akan kedaluwarsa?

Catatan: Saya mengajukan pertanyaan ini untuk server yang bukan bagian dari domain.


Silakan lihat pusat bantuan .
Michael Hampton

Jawaban:


22

Ini dapat dicapai dengan perintah DOS / Batch

nama pengguna net

Jika Anda menggunakan domain, Anda harus menambahkan sakelar /Domain. Dalam kasus Anda, cukup masukkan nama pengguna.

Ini akan mencantumkan perincian paling penting dari akun itu, termasuk tanggal kedaluwarsa kata sandi pengguna.


Sama seperti informasi tambahan: Anda juga dapat mengatur tanggal kedaluwarsa melalui perintah ini, jika Anda perlu melakukannya. Lihat "pengguna / bantuan bersih" untuk semua info
LumenAlbum

1
Dan hack cepat dan kotor untuk memotong dan menempel, cukup gunakan: net user% username%
Codek

1
Saya melakukan pengguna bersih / domain <username> dan mengatakan "Nama pengguna tidak dapat ditemukan." Apakah ini karena pembatasan atau kebijakan keamanan domain?
atom88

7

Jika Anda mengejar masalah yang sama dengan yang saya alami di masa lalu, pengguna ingin peringatan yang lebih baik tentang kapan kata sandi mereka akan kedaluwarsa, terutama saat mereka jauh dari PC biasa. Berikut ini adalah skrip yang saya jalankan setiap 72 jam (3 hari) untuk mengirim email peringatan.

# © 2011 Chris Stone, Beerware Licensed
# Derived from http://www.jbmurphy.com/2011/09/22/powershell © 2011 Jeffrey B. Murphy

import-module ActiveDirectory

$warningPeriod = 9
$emailAdmin = "admin@example.com"
$emailFrom = "PasswordBot." + $env:COMPUTERNAME + "@example.com"
$smtp = new-object Net.Mail.SmtpClient("mail.example.com")

$maxdays=(Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.TotalDays
$summarybody="Name `t ExpireDate `t DaysToExpire `n"

(Get-ADUser -filter {(Enabled -eq "True") -and (PasswordNeverExpires -eq "False")} -properties *) | Sort-Object pwdLastSet | foreach-object {

    $lastset=Get-Date([System.DateTime]::FromFileTimeUtc($_.pwdLastSet))
    $expires=$lastset.AddDays($maxdays).ToShortDateString()
    $daystoexpire=[math]::round((New-TimeSpan -Start $(Get-Date) -End $expires).TotalDays)
    $samname=$_.samaccountname
    $firstname=$_.GivenName

    if (($daystoexpire -le $warningPeriod) -and ($daystoexpire -gt 0)) {
        $ThereAreExpiring=$true

        $subject = "$firstname, your password expires in $daystoexpire day(s)"
        $body = "$firstname,`n`nYour password expires in $daystoexpire day(s).`nPlease press Ctrl + Alt + Del -> Change password`n`nSincerely,`n`nPassword Robot"

        $smtp.Send($emailFrom, $_.EmailAddress, $subject, $body)

        $summarybody += "$samname `t $expires `t $daystoexpire `n"
    }
}

if ($ThereAreExpiring) {
    $subject = "Expiring passwords"

    $smtp.Send($emailFrom, $emailAdmin, $subject, $summarybody)
}

Atur keempat garis konfigurasi dengan tepat untuk lingkungan Anda. Ubah bagian lain seperlunya.

PS dapat mengeluh jika skrip tidak ditandatangani. Saya menandatangani milik saya menggunakan (Saya memiliki sertifikat penandatanganan kode):

Set-AuthenticodeSignature PasswordBot.ps1 @(Get-ChildItem cert:\CurrentUser\My -codesigning)[0]

Lalu saya membuat Tugas Terjadwal sederhana, memicu setiap 72 jam, tindakan adalah untuk menjalankan C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exedengan argumen C:\Path\To\PasswordBot.ps1.

Catatan: Komputer tempat skrip ini dijalankan harus menjadi anggota domain, dan harus menginstal "modul Direktur Aktif untuk Windows PowerShell". Anda dapat berjalan start /wait ocsetup ActiveDirectory-PowerShelldi server mana saja untuk menginstalnya, atau menemukannya di daftar Fitur di Windows 7 (RSAT mungkin diperlukan, saya tidak ingat sekarang).


Ini tampaknya merupakan skrip yang luar biasa, tetapi seperti yang Anda tunjukkan, skrip ini harus dijalankan pada anggota domain. Namun, premisnya adalah bahwa server bukan bagian dari domain. Script Still great
LumenAlbum

Bisakah skrip ini diubah agar berfungsi pada server yang bukan bagian dari domain?
Aheho
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.