POWERSHELL : Recherche détaillée d’ordinateurs dans Active Directory


 

 

1. Présentation

Il peut être utile dans le cadre d’un audit de l’Active Directory de vérifier si des comptes utilisateurs/services sont expirés afin de les supprimer de l’annuaire.

 

2. Le script

Afin d’avoir la liste complète des propriétés pour un objet du type « Computer« , vous pouvez taper la commande ci-dessous :

Get-ADComputer SRV-01 -Properties * | Get-Member

Voici une partie de la liste des propriétés pour l’objet :

   TypeName : Microsoft.ActiveDirectory.Management.ADComputer

Name                               MemberType            Definition                       
----                               ----------            ----------                       
Contains                           Method                bool Contains(string propertyN...
Equals                             Method                bool Equals(System.Object obj)   
GetEnumerator                      Method                System.Collections.IDictionary...
GetHashCode                        Method                int GetHashCode()                
GetType                            Method                type GetType()                   
ToString                           Method                string ToString()                
Item                               ParameterizedProperty Microsoft.ActiveDirectory.Mana...
AccountExpirationDate              Property              System.DateTime AccountExpirat...
accountExpires                     Property              System.Int64 accountExpires {g...
AccountLockoutTime                 Property              System.DateTime AccountLockout...
AccountNotDelegated                Property              System.Boolean AccountNotDeleg...
AllowReversiblePasswordEncryption  Property              System.Boolean AllowReversible...
BadLogonCount                      Property              System.Int32 BadLogonCount {get;}
badPasswordTime                    Property              System.Int64 badPasswordTime {...
badPwdCount                        Property              System.Int32 badPwdCount {get;...
CannotChangePassword               Property              System.Boolean CannotChangePas...
CanonicalName                      Property              System.String CanonicalName {g...
Certificates                       Property              Microsoft.ActiveDirectory.Mana...
CN                                 Property              System.String CN {get;}          
codePage                           Property              System.Int32 codePage {get;set;} 
countryCode                        Property              System.Int32 countryCode {get;...
Created                            Property              System.DateTime Created {get;}   
createTimeStamp                    Property              System.DateTime createTimeStam...
Deleted                            Property              System.Boolean Deleted {get;}    
Description                        Property              System.String Description {get...
DisplayName                        Property              System.String DisplayName {get...
DistinguishedName                  Property              System.String DistinguishedNam...
DNSHostName                        Property              System.String DNSHostName {get...
DoesNotRequirePreAuth              Property              System.Boolean DoesNotRequireP...
dSCorePropagationData              Property              Microsoft.ActiveDirectory.Mana...
Enabled                            Property              System.Boolean Enabled {get;set;}
HomedirRequired                    Property              System.Boolean HomedirRequired...
HomePage                           Property              System.String HomePage {get;set;}
instanceType                       Property              System.Int32 instanceType {get;} 
IPv4Address                        Property              System.String IPv4Address {get;}

 

Le script ci-dessous permet de faire un export au format .CSV de tous les comptes expirés de votre annuaire.

Import-Module ActiveDirectory
$Hosts = Get-Content C:\Temp\Computers.txt
$Output = foreach ($h in $Hosts){
Get-ADComputer $h -Properties * | select Name, IPv4Address, DNSHostName
}
$Output | Export-csv C:\Temp\ComputerDetails.csv

 

3. Fonctionnement du script

Présentation des différents paramètres du script :

Import-Module ActiveDirectory = Import du module Active Directory
$Hosts = Get-Content « file » = Variable qui permet de rechercher des valeurs dans un fichier
$Output = foreach ($h in $Hosts) = Variable qui permet de rechercher des valeurs dans un fichier
select + paramètres = Sélection des paramètres d’un compte AD
Export-Csv = Commande pour exporter dans un fichier .CSV

 

4. Sources

Get-ADComputer
https://technet.microsoft.com/en-us/library/ee617192.aspx

Export-Csv
https://technet.microsoft.com/en-us/library/hh849932.aspx

 

Print Friendly, PDF & Email

Laisser un commentaire

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