Bonjour à tous,

j'utilise ce script pour récupérer la liste des utilisateurs du domaine étant membres du groupe "administrateur"

Code : 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
$n=0
$v=0
$w=0
$path = "C:\Scripts\List.csv"
$ObjFilter = "(objectClass=Computer)"
$objSearch = New-Object System.DirectoryServices.DirectorySearcher
$objSearch.PageSize = 15000
$objSearch.Filter = $ObjFilter

# Renseignez votre domaine 
				
$objSearch.SearchRoot = "LDAP://OU=OU_test,DC=domain,DC=lan"
$AllObj = $objSearch.FindAll()

# Mise en place de la boucle pour chaque objets computer de votre AD 

foreach ($Obj in $AllObj)
{
    $objItemT = $Obj.Properties
    $Computer = $objItemT.name 
 
# Pour chaque machine un test de connection sur une seconde est effectué  
 
   if ( Test-Connection $Computer -count 1 -quiet )  
	{
 
# La variable $MembresAdmin est initialisé à chaque passage de la boucle 
	
           $MembresAdmin =""
           $Connexion = [ADSI]"WinNT://$Computer/Administrateurs,group"
		
# Ici on recherche dans le groupe administrateur tous les membres en les listant et en excluant les membres redondant avec la commande  Where-Object {$_ -notlike "" -and $_ -notlike ""}
	
		   $MembresAdmin = $Connexion.psbase.invoke("Members") | %{$_.GetType().InvokeMember("Name",'GetProperty', $null, $_, $null)}| Where-Object {$_ -notlike "admin*" -and $_ -notlike ""} 
           if ( !$MembresAdmin )
               {
                   Write-host -nonewline "Machine $Computer connectées mais rien d'inhabituel" `n 
               }
           else
               {
                   "$Computer " | Out-File -filepath $path -encoding ASCII -append
                   "$MembresAdmin
                   ------------" | Out-File -filepath $path -encoding ASCII -append
           }
           $v++
       }
   else 
       {
           Write-host -nonewline "Machine $Computer non connectées" `n 
           $n++
       }

}

Write-host "il y a $n machines deconnectées"  `n
Write-host "il y a $v machines connectées"  `n 
$w=$n+$v
Write-Host "Il y a $w machines"

Mais lors de l'exécution du script j'ai le message suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Exception lors de l'appel de «*Invoke*» avec «*2*» argument(s)*: «*Accès refusé.*»

Au caractère C:\Users\*\Desktop\AUDITCOMPTELOCAL.ps1:50 : 6
+            $MembresAdmin = $Connexion.psbase.invoke("Members") | %{$_ ...
+            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException
Cdt,
Elminio75