«

»

Fév 01

Powershell : Lister toutes les authentifications réussies sur un controleur de domaine

Powershell : Lister toutes les authentifications réussies sur un contrôleur de domaine

 

powershell_logo

Pour ceux qui cherche à lister toutes les connexions réussies sur un contrôleur de domaine Active Directory, en listant des informations comme l’utilisateur et la machine depuis laquelle l’authentification est effectuée, voici un script Powershell qui utilisera l’audit des connexions Active Directory.

Assurez-vous en amont que l’audit des ouvertures de session Active Directory est activé. Référez-vous à cet article : https://technet.microsoft.com/fr-FR/library/dd772712(WS.10).aspx

Afin d’utiliser ce code, créez un fichier .ps1 et copiez-collez y le code ci-dessous :

# http://my-powershell.fr/aide-memoire-powershell
# http://www.ehow.com/how_7719350_split-string-two-variables-powershell.html
# http://technet.microsoft.com/fr-FR/library/dd772712(WS.10).aspx
# source : http://msreport.free.fr/?p=310 
#
# variables
$AdSrvName="NomDeVotreServeur"
$OutFile="c:\temp\audit-connexion.txt"

echo "Heure;Utilisateur;IP;Protocole;Type authentification" |Out-File $OutFile

# Lister tous les événements de connexion
Get-WinEvent -LogName Security -ComputerName $AdSrvName | Where-Object {$_.Id -eq 4624}| select TimeCreated,Message | foreach {
  $message = $_.Message.Split("`n")
  $logontype = $message[8].Trim()
  $logontype = $logontype.Replace("Logon Type:			","").Trim()
  $user = $message[12].Trim()
  $user = $user.Replace("Account Name:		", "").Trim()
  $ip = $message[23].Trim()
  $ip = $ip.Replace("Source Network Address:	","").Trim()
  $authentification = $message[28].Trim()
  $authentification = $authentification.Replace("Authentication Package:	", "").Trim()
  If (!($user.Contains("$")))
  {
    $LineToWrite = [string]$_.TimeCreated + ";" + $user + ";" + $ip + ";" + $authentification + ";" + $logontype | Out-File $OutFile -Append
  }
}
Lister authentification AD

Avant de l’utiliser, modifiez les 2 variables suivantes :

  • $AdSrvName : indiquez-y le nom de votre contrôleur de domaine Active Directory
  • $OutFile : indiquez-y le chemin d’accès complet vers votre fichier .txt de sortie

 

Merci à Guillaume MATHIEU pour ce script !

 

 

LinkedInFacebookTwitterGoogle+EmailGoogle GmailPartager

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser les balises HTML suivantes : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>