Bonjour,

J'ai besoin d'un réaliser un script PS qui me permet de savoir si un logiciel particulier est installé sur les machines de mon parc.
Pour cela j'ai besoin de parcourir l'AD afin de trouver chaque machine et d'aller vérifier dessus si l'applicatif est bien installé.

J'ai réalisé ce script :

Code Powershell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$results=@()
 
$serviceslist = Get-ADOrganizationalUnit -Filter ’Name -like "*"’ -SearchBase 'OU=__ServicesAgentsPC,DC=domaine,DC=domaine' | Select-Object Distinguishedname
 
foreach($service in $serviceslist)
{
	$computerlist = Get-ADComputer -Filter * -SearchBase $service | FT Name
 
	foreach ($computer in $computerlist) 
	{
	    if((Get-WmiObject -ComputerName $computer -Class Win32_Product | Where-Object Name -like "Traps*"))
	    {
	        $details = @{            
              		Date = get-date              
	                ComputerName = $Computer
                    TRAPS = "Oui"               
	        }                           
	    }else{
	        $details = @{            
              		Date = get-date              
	                ComputerName = $Computer
                    TRAPS = "Non"               
	        } 
        }
 
        $results += New-Object PSObject -Property $details  
	}
}
$results | export-csv -Path c:\temp\trapsExport.csv -NoTypeInformation

Cependant j'ai des erreurs concernant les listes que je créé.
Si je saisis des listes à la main ("xxxx","xxxxx","xxxxxx") cela fonctionne bien mais pas si je renseigne les listes avec les Get-AD(computer ou organizationalunit).

J'avoue que là je planche totalement