Exporter les ordinateurs d’un domaine dans un fichier CSV avec Powershell

  .ps1, Scripts, Windows

Exemple de code Powershell permettant d’exporter les ordinateurs d’un domaine dans un fichier CSV.


 

Prérequis :

  1. Installer RSAT (Outils d’administration Serveur distant Windows) avant :
    1. pour Windows 10
    2. pour Windows 11, il vous suffit de suivre les étapes ci-dessous :
      1. Utilisez le raccourci [touche Windows] + [i] afin d’ouvrir le menu des paramètres de Windows.
      2. Dans le menu des paramètres, accédez à la rubrique « Applications ».
      3. Cliquez ensuite sur « Fonctionnalités facultatives ».
      4. Pour ajouter des fonctionnalités, sélectionnez « Afficher les fonctionnalités » dans la rubrique « Ajouter une fonctionnalité facultative ».
      5. Windows vous propose alors une liste de l’ensemble des fonctionnalités facultatives disponibles pour votre système.
      6. Pour afficher plus rapidement les fonctionnalités RSAT, saisissez le mot-clé « RSAT » dans la barre de recherche.
      7. Une fois les fonctionnalités facultatives filtrées, seuls les outils RSAT s’affichent.
      8. Sélectionnez les fonctionnalités dont vous avez besoin, puis cliquez sur « Suivant » afin de les activer.
  2. Remplacer %DOMAINE% par votre nom de domaine

##############################################
##### IMPORTE LE MODULE ACTIVE DIRECTORY #####
##############################################
Import-Module ActiveDirectory

##############################################################
##### RECUPERE LE DOSSIER COURANT OU SE TROUVE LE SCRIPT #####
##############################################################
## V ## REPERTOIRE COURANT ## V ##
$CurrentDir = [System.IO.Path]::GetDirectoryName($myInvocation.MyCommand.Definition)
## V ## NOM DU FICHIER ## V ##
$FileName = "$(Get-Date -Format yyyyMMdd)_Active_Directory_Computers.csv"
## V ## CHEMIN DE LA BASE ACTIVE DIRECTORY ## V ##
$SearchBaseAD = "OU=workstations,DC=corp,DC=%DOMAINE%,DC=com"

###################################################
##### SUPPRIME LE FICHIER DU JOUR S'IL EXISTE #####
###################################################
If (Test-Path $CurrentDir$FileName) { Remove-Item $CurrentDir$FileName }

clear ##### EFFACE L'AFFICHAGE #####

## V ## AFFICHE DU TEXTE A L'ECRAN ## V ##
Write-host ""
Write-host ""
Write-host "EXPORTE TOUS LES ORDINATEURS SE TROUVANT DANS "$SearchBaseAD
Write-host ""
Write-host ""

#######################################################
##### EXPORTE LES ORDINATEURS DANS LE FICHIER CSV #####
#######################################################
get-ADComputer -Filter * -SearchBase $SearchBaseAD –properties cn, c, physicalDeliveryOfficeName, `
info, operatingSystem, operatingSystemVersion, lastLogonTimestamp, manager, description | `
select-object cn, c, physicalDeliveryOfficeName, info, operatingSystem, operatingSystemVersion, `
@{n='lastLogonTimestamp';e={[DateTime]::FromFileTime($_.lastLogonTimestamp).ToString("dd/MM/yyyy HH:mm:ss")}}, `
manager, description | Export-Csv -notypeinformation -encoding UTF8 -path $CurrentDir$FileName -Delimiter ";" -Append

Write-host ""
Write-host ""
Write-host "EXPORTATON TERMINEE !!!"
Write-host ""
Write-host ""

Pause

 

Laisser un commentaire