Come creare una notifica per la scadenza password al logon in Windows

Se anche voi avete utenti che si “dimenticano” di cambiare la password prima della scadenza  perchè non hanno “Visto” il messaggio che li avvisava dell’imminente scadenza ti può venire utile questo script in VBS che se gestito da GPO permette di far apparire un popup con tanto di conferma “OK” con il messaggio mancano X giorni alla scadenza della password.

creiamo un nuovo documento di testo e all’interno mettiamo questo codice

'========================================
' First, get the domain policy.
'========================================
Dim oDomain
Dim oUser
Dim maxPwdAge
Dim numDaysA
Dim warningDays
warningDays = 14
Set LoginInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & LoginInfo.UserName & "")

strDomainDN = UCase(LoginInfo.DomainDNSName)
strUserDN = LoginInfo.UserName

Set oDomain = GetObject("LDAP://" & strDomainDN)
Set maxPwdAge = oDomain.Get("maxPwdAge")

'========================================
' Calculate the number of days that are
' held in this value.
'========================================
numDays = CCur((maxPwdAge.HighPart * 2 ^ 32) + _
maxPwdAge.LowPart) / CCur(-864000000000)
'WScript.Echo "Maximum Password Age: " & numDays

'========================================
' Determine the last time that the user
' changed his or her password.
'========================================
Set oUser = GetObject("LDAP://" & strUserDN)

'========================================
' Add the number of days to the last time
' the password was set.
'========================================
whenPasswordExpires = DateAdd("d", numDays, oUser.PasswordLastChanged)
fromDate = Date
daysLeft = DateDiff("d",fromDate,whenPasswordExpires)

'WScript.Echo "Password Last Changed: " & oUser.PasswordLastChanged
if (daysLeft < warningDays) and (daysLeft > -1) then
Msgbox "La password scade tra " & daysLeft & " giorni" & " il " & _
  whenPasswordExpires &chr(13) & chr(13) & "Premi CTRL + ALT + CANC " &_
    "e seleziona l'opzione 'Cambia password'. www.dallatavolaalpc.it", 0, "CIAO.... AVVISO SCADENZA PASSWORD...."
End if

'========================================
' Clean up.
'========================================
Set oUser = Nothing
Set maxPwdAge = Nothing
Set oDomain = Nothing
Rinominiamo il file da TXT a VBS, rinominato il file lo mettiamo su di una share di rete raggiungibile dalle macchine client.

Ora non ci resta che far eseguire il file .vbs al logon del pc con l’ausilio delle GPO, colleghiamoci al nostro Domain Controller e andiamo in Group Policy Management e selezionare con il tasto destro del mouse la voceGroup Policy Objects -> New.

Diamo un nome alla nostra GPO “Avviso Scadenza Password” e clic su “OK“, ora sulla policy appena creata facciamo clic con il destro per modificarla e posizioniamoci sull’opzione User Configuration -> Policies -> Windows Settings -> Scripts (Logon/Logoff) e cliccare con il tasto destro del mouse su Logon -> Properties.

Nella sezione Scripts, clic su “Add” e tramite “Browse” specificare il percorso della share dove si trova file .vbs impostato lo script clic su “OK”.
Al riavvio le macchine scaricheranno la GPO e se sono nei 14 giorni dalla scadenza riceveranno l’avviso.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *