xbast1x
Goto Top

Powershell User mit Password never expires ausklammern

Hallo zusammen,

das folgende Skript benachrichtigt die AD User eine Woche bevor das PW abläuft per E-Mail. Einige Benutzer z. B. der Außendienst haben das Attribute im Account "Passwort läuft nie ab". Momentan bekommen auch diese Nutzer die E-Mail, da sich das Skript lediglich auf das Datum, wann das Passwort gesetzt wurde bezieht. Alle Benutzer, bei welchem das PW nicht abläuft, sollen diese E-Mail nicht erhalten.

Bei Dr.Google habe ich leider nicht den entsprechendes Befehl gefunden. Need help face-smile

Import-Module ActiveDirectory


Get-ADUser -filter * -properties PasswordLastSet,EmailAddress,GivenName,Surname | ?{ $_.CanonicalName -NotLIKE "OU HERE*" -or $_.CanonicalName -NotLIKE "OU HERE" } | %{  


    $PasswordSetDate=$_.PasswordLastSet

    $maxPasswordAgeTimeSpan = $null

    $maxPasswordAgeTimeSpan = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge



    $today=get-date

    $ExpiryDate=$passwordSetDate + $maxPasswordAgeTimeSpan

    write “$UserName $Surname$daysleft=$ExpiryDate-$today

    $display=$daysleft.days
    $UserName=$_.GivenName
    $SurName=$_.Surname


    if ($display -lt 7 -and $display -gt 0)

    {

        $MyVariable = ”
        Hallo $UserName $Surname,`n
                dein Windows Kennwort wird in $display Tagen ablaufen. Bitte ändere zeitnah dein Kennwort, da eine Anmeldung am System sonst nicht mehr möglich ist.`n
                `n
                Das Kennwort kann mit der Tastenkombination STRG+ALT+ENTF geändert werden.`n
        *** Diese Nachricht wurde automatisch generiert – bitte nicht darauf antworten. ***“

        send-mailmessage -to $_.EmailAddress -from Mailqdomain.com -Subject “Windows Kennwort wird in $display Tagen ablaufen” -body $MyVariable  -smtpserver IpE_Mail_Server -encoding ([System.Text.Encoding]::UTF8)
    }
} # END ForEach

Gruß xbast1x

Content-Key: 379260

Url: https://administrator.de/contentid/379260

Ausgedruckt am: 19.03.2024 um 09:03 Uhr

Mitglied: 136588
Lösung 136588 05.07.2018 aktualisiert um 11:45:31 Uhr
Goto Top
Schau dir doch einfach mal die Eigenschaften auf der Konsole an dann würde man das auch selbst finden ...
Get-ADUser -filter * -properties PasswordLastSet,PasswordNeverExpires,EmailAddress,GivenName,Surname | ?{ ($_.CanonicalName -NotLIKE "OU HERE*" -or $_.CanonicalName -NotLIKE "OU HERE") -and !$_PasswordNeverExpires -and $_.Enabled }  
Mitglied: xbast1x
xbast1x 10.07.2018 um 07:56:54 Uhr
Goto Top
Scheinbar zu früh gefreut. Nach einigen Testläufen verschickt das Skript dennoch an die User die E-Mail, welche das Attribute Passwort läuft nicht ab haben.