close up shot of keyboard buttons

Alert email per le password di AD in scadenza

>>> Download: Scarica lo script da GitHub

Con lo scenario di lavoro ibrido sempre più comune e gli utenti che si ritrovano spesso a lavorare fuori ufficio, è utile per noi amministratori avvisare gli utenti della prossima scadenza della loro password di Active Directory, in modo che non si ritrovino con la password scaduta e magari l’impossibilità di collegarsi in VPN o agli altri servizi/applicazioni aziendali.

Il problema sarebbe facilmente risolvibile con una soluzione ibrida tra Azure AD e la propria AD on-prem, configurando il password writeback, ma purtroppo non è una soluzione ancora largamente diffusa, anche perché serve almeno la licenza Azure AD Premium P1.

Possiamo però trovare almeno un sistema per avvisare i nostri utenti in automatico, usando lo script che trovate qui su GitHub.

Lo ho preparato a partire da un vecchio script (di cui purtroppo non mi ricordo fonte o l’autore, chiedo scusa in anticipo!) che ho rivisto e migliorato. La logica è molto semplice: cerco tutti gli utenti in AD abilitati e con password in scadenza, ottengo dalla AD il valore di durata massima della password e seleziono tutti gli utenti che (facendo il calcolo da quando hanno modificato per l’ultima volta la password) hanno la password che scade nei prossimi XX giorni, dove XX è il valore della variabile $max_alert.

A quel punto viene inviata una email ad ogni utente, informandolo della prossima scadenza: l’utente deve avere però il campo email in AD compilato, spero sia ovvio questo.

Per il resto lo script in PowerShell è molto semplice da usare, nei commenti trovate tutte le istruzioni richieste, che fondamentalmente riguardano l’impostazione delle user-variables nella regione iniziale dello script (dati del dominio AD, del server SMTP e se volete in CC: l’avviso via email anche ad un altro destinatario oltre l’utente).

Il formato del messaggio è modificabile nella variabile $mailmessage.Body (nella funzione send_email), modificando l’HTML come desiderate.

Verrà prodotto un messaggio del genere:

Lo script può essere naturalmente schedulato per girare ad intervalli regolari, magari una volta al giorno. L’utente che fa girare lo script deve avere almeno i privilegi di lettura delle proprietà degli utenti in AD.

>>> Download: Scarica lo script da GitHub