मैं कैसे बता सकता हूं कि किसी उपयोगकर्ता का पासवर्ड कब समाप्त होगा?


16

क्या उपयोगकर्ता का पासवर्ड कब समाप्त होगा यह निर्धारित करने के लिए कंप्यूटर प्रबंधन कंसोल या कमांड लाइन में से एक रास्ता है?

नोट: मैं यह सवाल एक सर्वर के लिए पूछ रहा हूं जो एक डोमेन का हिस्सा नहीं है।


जवाबों:


22

यह डॉस / बैच कमांड द्वारा प्राप्त किया जा सकता है

शुद्ध उपयोगकर्ता नाम

यदि आप एक डोमेन पर थे तो आपको स्विच जोड़ना होगा /Domain। आपके मामले में, बस उपयोगकर्ता नाम डालें।

यह उस खाते के सबसे महत्वपूर्ण विवरणों को सूचीबद्ध करेगा, जिसमें उपयोगकर्ता पासवर्ड की समाप्ति तिथि भी शामिल है।


अतिरिक्त जानकारी के रूप में: आप इस आदेश के माध्यम से समाप्ति तिथि भी निर्धारित कर सकते हैं, क्या आपको ऐसा करने की आवश्यकता है। सभी जानकारी के लिए "शुद्ध उपयोगकर्ता / सहायता" देखें
LumenAlbum

1
और कट और पेस्ट करने के लिए एक त्वरित और गंदा हैक, बस का उपयोग करें: शुद्ध उपयोगकर्ता% उपयोगकर्ता नाम%
कोडक

1
मैंने नेट यूजर / डोमेन <यूजरनेम> किया और कहा "उपयोगकर्ता नाम नहीं मिल सका।" क्या यह कुछ डोमेन सुरक्षा प्रतिबंध या नीति के कारण है?
atom88

7

यदि आप उसी समस्या का पीछा कर रहे हैं जो मेरे पास अतीत में थी, तो उपयोगकर्ता बेहतर चेतावनी चाहते हैं कि उनका पासवर्ड कब समाप्त हो रहा है, खासकर जब वे एक विशिष्ट पीसी से दूर होते हैं। निम्नलिखित स्क्रिप्ट है जो मैं हर 72 घंटे (3 दिन) ई-मेल चेतावनियों को चलाता हूं।

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

अपने पर्यावरण के लिए उन चार विन्यास लाइनों को उचित रूप से सेट करें। आवश्यकतानुसार अन्य भागों को संशोधित करें।

यदि स्क्रिप्ट पर हस्ताक्षर नहीं है, तो PS शिकायत कर सकता है। मैंने मेरा उपयोग करके हस्ताक्षर किए (मेरे पास एक कोड हस्ताक्षर प्रमाणपत्र है):

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

फिर मैंने एक साधारण अनुसूचित कार्य बनाया, हर 72 घंटों में ट्रिगर किया, कार्रवाई C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exeतर्क के साथ चलना है C:\Path\To\PasswordBot.ps1

नोट: यह स्क्रिप्ट जिस कंप्यूटर पर चलाई जाती है वह डोमेन का सदस्य होना चाहिए, और इसमें "Windows PowerShell के लिए सक्रिय निदेशक मॉड्यूल" स्थापित होना चाहिए। आप start /wait ocsetup ActiveDirectory-PowerShellइसे स्थापित करने के लिए किसी भी सर्वर पर चला सकते हैं , या इसे विंडोज 7 में फीचर सूची में पा सकते हैं (RSAT की आवश्यकता हो सकती है, मुझे अब याद नहीं है)।


यह एक भयानक स्क्रिप्ट है, लेकिन जैसा कि आप बताते हैं कि इसे डोमेन के सदस्य पर चलाने की आवश्यकता है। हालाँकि, उसका आधार यह है कि सर्वर किसी डोमेन का हिस्सा नहीं है। अभी भी महान स्क्रिप्ट
15-22 पर LumenAlbum

क्या इस स्क्रिप्ट को एक सर्वर पर काम करने के लिए बदल दिया जा सकता है जो एक डोमेन का हिस्सा नहीं है?
अन्हो 21:16
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.