J'ai trouvé un code très agréable sur la façon d'afficher les connexions des utilisateurs des 14 derniers jours: Powershell Security Log Get-EventLogFiltrage des nouveaux enregistrements d'événements de sécurité
$Date = [DateTime]::Now.AddDays(-14)
$Date.tostring("MM-dd-yyyy"), $env:Computername
$eventList = @()
Get-EventLog "Security" -After $Date `
| Where -FilterScript {$_.EventID -eq 4624 -and $_.ReplacementStrings[4].Length -gt 10 -and $_.ReplacementStrings[5] -notlike "*$"} `
| foreach-Object {
$row = "" | Select UserName, LoginTime
$row.UserName = $_.ReplacementStrings[5]
$row.LoginTime = $_.TimeGenerated
$eventList += $row
}
$eventList
Mais ma question est, comment puis-je modifier ce code afin qu'il sélectionne les deux derniers enregistrements?
J'ai essayé les éléments suivants:
Get-EventLog "Security" -After $Date `
| Where -FilterScript {$_.EventID -eq 4624 -and $_.ReplacementStrings[4].Length -gt 10 -and $_.ReplacementStrings[5] -notlike "*$"} `
| {-Newest 2}
Et j'obtiens l'erreur: Missing expression after unary operator '-'.
Qu'est-ce qu'un moyen propre pour obtenir les deux dernières connexions, à savoir la connexion en cours et la dernière personne qui est connecté avant l'utilisateur actuel?
EDIT: Problème résolu, voici le code complet
$Date = [DateTime]::Now.AddDays(-14)
$Date.tostring("MM-dd-yyyy"), $env:Computername
$eventList = @()
Get-EventLog "Security" -After $Date `
| Where -FilterScript {$_.EventID -eq 4624 -and $_.ReplacementStrings[4].Length -gt 10 -and $_.ReplacementStrings[5] -notlike "*$"} `
| Select-Object -First 2 `
| foreach-Object {
$row = "" | Select UserName, LoginTime
$row.UserName = $_.ReplacementStrings[5]
$row.LoginTime = $_.TimeGenerated
$eventList += $row
}
$eventList
Mais ce filtre tous les journaux de sécurité d'événements. Je cherche à filtrer tous les journaux d'événements de sécurité où l'ID d'événement est 4624 aux deux premiers. Si je place -Newest en premier, il sélectionne les deux premiers journaux d'événements de sécurité, et si l'un de ces deux est l'ID d'événement de 4624, seulement alors il affiche. AIDEZ-MOI!!! – Glowie
Essayez Select-Object -First 2 à la place – TheOptimusPrimus
Je ne peux pas réellement exécuter la commande parce que je n'ai pas de droits d'administrateur sur ma boîte :( – TheOptimusPrimus