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
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 :
[pastacode lang= »bash » manual= »%23%20http%3A%2F%2Fmy-powershell.fr%2Faide-memoire-powershell%0A%23%20http%3A%2F%2Fwww.ehow.com%2Fhow_7719350_split-string-two-variables-powershell.html%0A%23%20http%3A%2F%2Ftechnet.microsoft.com%2Ffr-FR%2Flibrary%2Fdd772712(WS.10).aspx%0A%23%20source%20%3A%20http%3A%2F%2Fmsreport.free.fr%2F%3Fp%3D310%20%0A%23%0A%23%20variables%0A%24AdSrvName%3D%22NomDeVotreServeur%22%0A%24OutFile%3D%22c%3A%5Ctemp%5Caudit-connexion.txt%22%0A%0Aecho%20%22Heure%3BUtilisateur%3BIP%3BProtocole%3BType%20authentification%22%20%7COut-File%20%24OutFile%0A%0A%23%20Lister%20tous%20les%20%C3%A9v%C3%A9nements%20de%20connexion%0AGet-WinEvent%20-LogName%20Security%20-ComputerName%20%24AdSrvName%20%7C%20Where-Object%20%7B%24_.Id%20-eq%204624%7D%7C%20select%20TimeCreated%2CMessage%20%7C%20foreach%20%7B%0A%20%20%24message%20%3D%20%24_.Message.Split(%22%60n%22)%0A%20%20%24logontype%20%3D%20%24message%5B8%5D.Trim()%0A%20%20%24logontype%20%3D%20%24logontype.Replace(%22Logon%20Type%3A%09%09%09%22%2C%22%22).Trim()%0A%20%20%24user%20%3D%20%24message%5B12%5D.Trim()%0A%20%20%24user%20%3D%20%24user.Replace(%22Account%20Name%3A%09%09%22%2C%20%22%22).Trim()%0A%20%20%24ip%20%3D%20%24message%5B23%5D.Trim()%0A%20%20%24ip%20%3D%20%24ip.Replace(%22Source%20Network%20Address%3A%09%22%2C%22%22).Trim()%0A%20%20%24authentification%20%3D%20%24message%5B28%5D.Trim()%0A%20%20%24authentification%20%3D%20%24authentification.Replace(%22Authentication%20Package%3A%09%22%2C%20%22%22).Trim()%0A%20%20If%20(!(%24user.Contains(%22%24%22)))%0A%20%20%7B%0A%20%20%20%20%24LineToWrite%20%3D%20%5Bstring%5D%24_.TimeCreated%20%2B%20%22%3B%22%20%2B%20%24user%20%2B%20%22%3B%22%20%2B%20%24ip%20%2B%20%22%3B%22%20%2B%20%24authentification%20%2B%20%22%3B%22%20%2B%20%24logontype%20%7C%20Out-File%20%24OutFile%20-Append%0A%20%20%7D%0A%7D » message= »Lister authentification AD » highlight= » » provider= »manual »/]
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 !
Bonjour merci beaucoup pour ce script en fait j’aimerai savoir si l’exécution de ce dernier a des impacts sur le fonctionnement de l’ AD !
Merci