Last active
May 20, 2016 14:45
-
-
Save gioxx/c71611db976536029c57 to your computer and use it in GitHub Desktop.
PowerShell: Alert mail quando un account viene bloccato in AD. Occorrerà creare (sul Domain Controller, per esempio) un'operazione schedulata che per ogni EVENT ID 4740 scatena l'esecuzione di questo script PS1.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
ACTIVE DIRECTORY: Alert mail quando un account utilizza una password errata | |
------------------------------------------------------------------------------- | |
Autore: GSolone | |
Utilizzo: È necessario schedulare questo script quando si presenta l'evento da monitorare | |
(nel caso specifico qui di seguito è il 4740, account locked) | |
Versione: 0.2 | |
Ultima modifica: 12-05-2016 | |
Modifiche: | |
0.2- modificato evento monitorato, modificato header script, modificato array di invio mail e integrati i CC nel Send-MailMessage | |
0.1- incluso l'if che permette di procedere con l'invio mail solo se l'account utente che ha usato una password errata è quello specificato nella variabile AccountMonitor | |
------------------------------------------------------------------------------- | |
Info: | |
1a versione: http://gioxx.org/2014/07/07/powershell-account-di-dominio-bloccato-o-utilizzo-di-password-errata-mandami-una-mail-con-levento/ | |
------------------------------------------------------------------------------- | |
RAPIDO PROMEMORIA (Event Viewer): | |
-InstanceID 4740: account bloccato | |
-InstanceID 4771: password errata | |
#> | |
#-----------------------------------------------# | |
# SPECIFICARE L'ACCOUNT DA MONITORARE: # | |
$AccountMonitor = 'ACCOUNT_AD' | |
#-----------------------------------------------# | |
Import-Module ActiveDirectory | |
$EventDetails = Get-EventLog -LogName Security -InstanceID 4740 -Newest 1 | Where-Object { $_.message -match $AccountMonitor } | |
$LockedAccount = $($EventDetails.ReplacementStrings[0]) | |
if ($AccountMonitor -eq $LockedAccount) { | |
$EventDetailsTime = $EventDetails.TimeGenerated | |
$EventDetailsMessage = $EventDetails.Message | |
$messageParameters = @{ | |
Subject = "ALERT: Account $LockedAccount bloccato" | |
Body = "Qualcuno ha utilizzato una password errata per l'account $LockedAccount (ultimo tentativo il $EventDetailsTime), l'account e' stato quindi BLOCCATO su Active Directory, occorre sbloccarlo!`n`nDettagli evento:`n`n$EventDetailsMessage" | |
From = "alert@contoso.com" | |
SmtpServer = "smtp.contoso.com" | |
} | |
Send-MailMessage @messageParameters -To "admin1@contoso.com" -CC "admin2@contoso.com", "admin3@contoso.com" -Priority High | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment