# Aaron PESCASIO
J'ai mit en place ce script pour afficher la dernière date de connexion d'un utilisateur ou de plusieurs utilisateurs. Ce script est à executér sur un serveur Windows contenant l'Active Directory.
lastlogon.ps1:
# Définition de la fonction pour obtenir # la dernière date de connexion d'un utilisateur sélectionné function Get-LastLogonDate { param([string]$samAccountName) # Obtient l'utilisateur correspondant au SamAccountName sélectionné $user = Get-ADUser -Filter "SamAccountName -eq '$samAccountName'" -Properties lastlogondate # Vérifie si la dernière date de connexion est disponible ou non if ($user.lastlogondate -ne $null) { $lastlogondate = $user.lastlogondate Write-Host "La dernière date de connexion pour $samAccountName est $lastlogondate" } else { Write-Host "La dernière date de connexion pour $samAccountName n'est pas disponible." } } # Loop to continue searching for users do { # Demande à l'utilisateur de saisir un nom de famille $lastname = Read-Host -Prompt "Entrez le nom de famille" # Obtient les SamAccountName correspondant au nom de famille saisi $users = Get-ADUser -Filter "Surname -eq '$lastname'" -Properties lastlogondate | Select-Object SamAccountName, lastlogondate # Liste tous les SamAccountName trouvés Write-Host "Voici les noms de compte SAM trouvés :" $users | ForEach-Object { Write-Host $_.SamAccountName } # Demande à l'utilisateur de sélectionner SamAccountName $selecteduser = Read-Host -Prompt "Entrez le nom de compte SAM de l'utilisateur dont vous souhaitez vérifier la dernière date de connexion" # Get the last logon date for the selected user Get-LastLogonDate -samAccountName $selecteduser # Demande à l'utilisateur s'il veut continuer la recherche $continue = Read-Host -Prompt "Voulez-vous continuer la recherche de l'utilisateur ? (Entrez 'N' pour arrêter, appuyez sur Entrée pour continuer)" } while ($continue -notmatch "[Nn]")