Hello à vous !

Nous allons voir comment comparer 2 fichiers avec PowerShell.
Nous pouvons être amené à faire cette comparaison plusieurs fois par mois.
Par exemple, vérifier que les Ordinateurs présents dans GLPI soit également présents dans notre AD ou comparer les ordinateurs en PROD d’un mois à l’autre.

Je vous laisse faire un export nécessaire.
Ici, nous avons 2 fichiers csv. Pas besoin que ces 2 fichiers aient la même mise en page, il faut juste qu’il y ait un contenu commun.
Exemple de fichier :

Mes fichiers ont cette forme

Je dois maintenant comparer 2 fichiers pour savoir quels postes sont sortis de mon parc.
Je vous laisse le script :

#Définition de nos 2 variables
##Nous travaillons avec 2 exports : 1 AD et 1 GLPI
$092019 = import-csv -Path "C:\TEMP\Compare\092019ComputersAD.csv" -Delimiter "," 
$102019 = import-csv -Path "C:\TEMP\Compare\102019ComputersAD.csv" -Delimiter "," 

#Nous cherchons les comptes Ordinateurs présents dans le fichier 092019ComputersAD.csv
foreach ($Moisencours in $102019)
{
#Par defaut, la variable $flagtrouvé est = à KO
$flagtrouvé="KO"

    foreach ($Moisdernier in $092019)
    {
        if ($Moisencours.Nom -eq $Moisdernier.Nom)
        {
#Si un nom est identique dans les 2 fichiers,  le flag passe à OK
        $flagtrouvé="OK"
        }
    }
if ($flagtrouvé -eq "KO")
    {
#Nous exportons le résultat dans un fichier texte des flags KO
Write-Output $Moisencours.Nom "n'est pas présent dans 092019" >> C:\TEMP\Coherence.txt
    }
}

Voici ce que j’obtiens :

Visuel du fichier txt généré

Je vois maintenant clairement quel poste est manquant.

Laisser un commentaire

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

%d blogueurs aiment cette page :