Script PowerShell per inviare notifiche di scadenza delle password agli utenti del dominio Active Directory

Molte organizzazioni hanno criteri che obbligano gli utenti a modificare periodicamente le loro password. Se la password non viene modificata prima della data di scadenza, gli utenti sono obbligati a impostare una nuova password quando effettuano l'accesso per la prima volta dopo la scadenza.

Mentre questo è un piccolo fastidio per gli utenti che sono all'interno della rete aziendale, gli utenti remoti rimangono bloccati. Il motivo è che le attività sensibili come la reimpostazione della password devono essere effettuati solo dall'interno della rete aziendale con Active Directory (AD). Contattare il servizio di assistenza IT per reimpostare la password non è di aiuto, perché il dispositivo deve trovarsi fisicamente nella intranet aziendale per essere riconosciuto.

Gli amministratori possono utilizzare gli script PowerShell per ottenere le date di scadenza delle password degli utenti AD e inviare loro un'e-mail richiedendo di modificare la loro password alcuni giorni prima. Dato che gli strumenti dell'interfaccia grafica Active Directory non offrono questa funzionalità, devono essere utilizzati gli script PowerShell per inviare le e-mail di scadenza delle password.

ManageEngine ADSelfService Plus, una soluzione di sicurezza delle identità, supporta anche l'invio delle notifiche di scadenza delle password agli utenti AD.

Lo script di notifica di scadenza delle password PowerShell qui fornito invia promemoria tramite e-mail agli utenti di Active Directory riguardo alle loro password in scadenza.

Questo è un confronto tra l'utilizzo degli script PowerShell e di ADSelfService Plus per l'invio delle e-mail di scadenza delle password.

PowerShell

Usa il seguente script PowerShell per verificare le date di scadenza delle password degli utenti e inviare un'e-mail di notifica della scadenza sette giorni prima:
#Import AD Module
 Import-Module ActiveDirectory
 
#Create warning dates for future password expiration
$SevenDayWarnDate = (get-date).adddays(7).ToLongDateString()

#Email Variables
$MailSender = " Password AutoBot <emailaddress@somecompany.com>"
$Subject = 'FYI - Your account password will expire soon'
$EmailStub1 = 'I am a bot and performed this action automatically. I am here to inform you that the password for'
$EmailStub2 = 'will expire in'
$EmailStub3 = 'days on'
$EmailStub4 = '. Please contact the help desk if you need assistance changing your password. DO NOT REPLY TO THIS EMAIL.'
$SMTPServer = 'smtp.somecompany.com'
 
#Find accounts that are enabled and have expiring passwords
$users = Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False -and PasswordLastSet -gt 0 } `
 -Properties "Name", "EmailAddress", "msDS-UserPasswordExpiryTimeComputed" | Select-Object -Property "Name", "EmailAddress", `
 @{Name = "PasswordExpiry"; Expression = {[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed").tolongdatestring() }}
 
#check password expiration date and send email on match
foreach ($user in $users) {
     if ($user.PasswordExpiry -eq $SevenDayWarnDate) {
         $days = 7
         $EmailBody = $EmailStub1, $user.name, $EmailStub2, $days, $EmailStub3, $SevenDayWarnDate, $EmailStub4 -join ' '
 
         Send-MailMessage -To $user.EmailAddress -From $MailSender -SmtpServer $SMTPServer -Subject $Subject -Body $EmailBody
     }
    else {}
 }
 Copied
Fai clic per copiare l’intero script
PowerShell scripts to notify Active Directory domain users about password expiration

ADSelfService Plus

  • Apri il portale di amministrazione di ADSelfService Plus.
  • Vai a Configurazione > Notifica di scadenza delle password. Nella sezione Notifica di scadenza password/account che si apre, fai clic su Aggiungi una nuova notifica.
  • Usa l'opzione Seleziona il dominio per specificare il dominio di cui gli utenti devono ricevere le notifiche. Inserisci un nome per lo strumento di pianificazione.
  • Imposta il Tipo di notifica a Notifica di scadenza delle password. Usa l'opzione Notifica tramite per indicare il mezzo utilizzato per la notifica(e-mail, SMS o notifica push).
  • Seleziona la Frequenza di notifica (Giornaliera, Settimanale o In giorni specifici) e utilizza l'opzione dell'Orario della pianificazione per indicare la data e l'ora della consegna della notifica. Per esempio, se vuoi inviare una notifica agli utenti sette giorni prima della scadenza della password, seleziona l'opzione In giorni specifici e fai clic su Orario di pianificazione e inserisci "7" nel campo fornito.
  • Se necessario, modifica l'Oggetto e il Messaggio della notifica.
  • Fai clic sull'opzione Avanzate e, nella finestra popup che si apre, usa le opzioni per escludere gli utenti disabilitati o gli utenti con smart card dalla ricezione delle notifiche di scadenza e dall'invio dei messaggi di stato della consegna delle notifiche ai gestori degli utenti o a chiunque con un account da amministratore, se necessario.
  • Fai clic su Salva.
PowerShell scripts to notify Active Directory domain users about password expiration
PowerShell scripts to notify Active Directory domain users about password expiration
Vantaggi della configurazione delle notifiche di scadenza delle password con ADSelfService Plus:
  • Configurazione rapida:

    Con ADSelfService Plus, sei a pochi clic dalla configurazione dei promemoria di scadenza delle password per gli utenti del dominio. Gli script PowerShell richiedono creazione, debug ed esecuzione.

  • Notifiche agli utenti tramite e-mail, SMS e notifiche push:

    Con ADSelfService Plus, puoi scegliere di inviare e-mail, SMS e notifiche push con un semplice clic. Nell'esempio in alto, PowerShell è utilizzato per fornire notifiche tramite e-mail per la scadenza delle password. PowerShell può anche essere utilizzato per inviare SMS e notifiche push, ma ciò richiede la creazione di uno script molto complicato.

  • Notifiche ai responsabili degli utenti:

    In ADSelfService Plus, puoi scegliere di escludere gli utenti disabilitati e gli utenti con smart card dalla ricezione delle notifiche. Le e-mail di stato di consegna delle notifiche possono essere inviate anche ai responsabili degli utenti e agli amministratori dell'organizzazione.

  • Configurazione basata su interfaccia utente grafica:

    Una volta che la notifica di scadenza delle password è stata configurata in ADSelfService Plus, può essere modificata semplicemente selezionando la modifica della notifica e modificando i valori delle impostazioni in base al necessario. Con PowerShell, durante le modifiche agli script di notifica, è normale che avvengano errori ortografici e altri errori.

  • Notifiche tramite e-mail potenti e personalizzabili:

    Scrivi le notifiche tramite e-mail in HTML per attirare l'attenzione degli utenti o per inviare messaggi diversi in giorni diversi prima della scadenza delle password. PowerShell permette di inviare e-mail in formato HTML, ma il processo può essere decisamente lungo.

Invia notifiche agli utenti Active Directory riguardo alla scadenza delle password.

Risorse correlate