Exemple de code Powershell permettant d’exporter les ordinateurs d’un domaine dans un fichier CSV.
Prérequis :
- Installer RSAT (Outils d’administration Serveur distant Windows) avant :
- pour Windows 10
- pour Windows 11, il vous suffit de suivre les étapes ci-dessous :
- Utilisez le raccourci [touche Windows] + [i] afin d’ouvrir le menu des paramètres de Windows.
- Dans le menu des paramètres, accédez à la rubrique « Applications ».
- Cliquez ensuite sur « Fonctionnalités facultatives ».
- Pour ajouter des fonctionnalités, sélectionnez « Afficher les fonctionnalités » dans la rubrique « Ajouter une fonctionnalité facultative ».
- Windows vous propose alors une liste de l’ensemble des fonctionnalités facultatives disponibles pour votre système.
- Pour afficher plus rapidement les fonctionnalités RSAT, saisissez le mot-clé « RSAT » dans la barre de recherche.
- Une fois les fonctionnalités facultatives filtrées, seuls les outils RSAT s’affichent.
- Sélectionnez les fonctionnalités dont vous avez besoin, puis cliquez sur « Suivant » afin de les activer.
- 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