Belirli bir kullanıcının şifresinin ne zaman sona ereceğini nasıl anlayabilirim?


16

Bir kullanıcının parolasının ne zaman sona ereceğini belirlemek için bilgisayar yönetim konsolundan veya komut satırından bir yol var mı?

Not: Bu soruları bir alan adının parçası olmayan bir sunucu için soruyorum.


Yanıtlar:


22

Bu DOS / Toplu İş komutu ile elde edilebilir

net kullanıcı adı

Bir etki alanında bulunuyorsanız, anahtarı eklemeniz gerekir /Domain. Sizin durumunuzda, kullanıcı adını girmeniz yeterlidir.

Bu, kullanıcı şifresinin son kullanma tarihi de dahil olmak üzere hesabın en önemli ayrıntılarını listeler.


Ek bilgi gibi: Sona erme tarihini de bu komutla ayarlayabilirsiniz, bunu yapmanız gerekir. Tüm bilgiler için "net kullanıcı / yardım" konusuna bakın
LumenAlbum

1
Ve kesme ve yapıştırma için hızlı ve kirli bir kesmek, sadece şunu kullanın: net user% username%
Codek 26:01 '

1
Net kullanıcı / etki alanı <kullanıcıadı> yaptım ve "Kullanıcı adı bulunamadı." Dedi. Bu, bazı etki alanı güvenlik kısıtlamaları veya ilkeleri nedeniyle mi?
atom88

7

Geçmişte yaşadığım aynı sorunu takip ediyorsanız, kullanıcılar özellikle tipik bir bilgisayardan uzakta olduklarında parolalarının ne zaman sona ereceğine dair daha iyi uyarı almak isterler. Aşağıda, uyarıları e-posta ile göndermek için 72 saatte bir (3 gün) çalıştırdığım komut dosyası verilmiştir.

# © 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)
}

Bu dört yapılandırma satırını ortamınız için uygun şekilde ayarlayın. Diğer parçaları gerektiği gibi değiştirin.

PS, kod imzalanmamışsa şikayet edebilir. Ben kullanarak kod imzaladı (Ben bir kod imzalama sertifikası var):

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

Sonra basit bir Zamanlanmış Görev oluşturdum, her 72 saatte bir tetiklenir, eylem C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exeargüman ile çalıştırmaktır C:\Path\To\PasswordBot.ps1.

Not: Bu komut dosyasının üzerinde çalıştığı bilgisayarın etki alanının üyesi olması ve "Windows PowerShell için Active Director modülünün" yüklü olması gerekir. Yüklemek start /wait ocsetup ActiveDirectory-PowerShelliçin herhangi bir sunucuda çalışabilir veya Windows 7'deki Özellikler listesinde bulabilirsiniz (RSAT gerekli olabilir, şimdi hatırlayamıyorum).


Bu harika bir komut dosyası gibi görünüyor, ancak işaret ettiğiniz gibi alan adının bir üyesinde çalıştırılması gerekiyor. Ancak, onun önceliği, sunucunun bir etki alanının parçası olmamasıdır. Hala harika script
LumenAlbum

Bu komut dosyası, bir etki alanının parçası olmayan bir sunucuda çalışacak şekilde değiştirilebilir mi?
Aheho
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.