Le temps passant, sur un Active Directory il devient inévitable de se retrouver avec des objets ordinateurs et utilisateurs parasites.
Par parasites j'entends le fait qu'ils ne sont plus utilisés dans l'entreprise (pc et/ou utilisateur physiquement détruits, volés, égarés, partis etc...).
Dans ce cas précis il devient nécessaire de faire un peu de ménage, mais la question est de savoir comment récupérer la liste des postes qui ne sont plus utilisés dans un domaine? Le but de cet article est donc de voir comment obtenir une liste des postes ne s'étant plus connectés sur un domaine depuis un nombre de jours prédéfinis et ce grace à PowerShell.
La première chose à savoir est comment récupérer nos utilisateurs et ordinateurs dans Active Directory.
PS C:\ > (Get-ADComputer -Filter '*').Name
PS C:\ > (Get-ADComputer -Filter 'Name -Like "PC*"').Name
PS C:\ > (Get-ADUser -Filter '*').SamAccountName
PS C:\ > $user = "e.cartman"
PS C:\ > Get-ADUser "$user" -Properties LastLogonTimeStamp
PS C:\ > [DateTime]::FromFileTime((Get-ADUser "$user" -Properties LastLogonTimeStamp).LastLogonTimeStamp)
Nous avons maintenant tout ce dont nous avons besoin pour lister les Ordinateurs et Utilisateurs.
PS C:\ > $days = 120
PS C:\ > Get-ADComputer -Filter '*' -Properties LastLogonTimeStamp | where { ($(Get-Date)-[DateTime]::FromFileTime($_.LastLogonTimeStamp)).Days -gt $days } | Select-Object Name
PS C:\ > $days = 120
PS C:\ > Get-ADUser -Filter '*' -Properties LastLogonTimeStamp | where { ($(Get-Date)-[DateTime]::FromFileTime($_.LastLogonTimeStamp)).Days -gt $days } | Select-Object Name
Contact :