Bonjour,

Je souhaiterais réalisé un script VBS me permettant de générer un .CSV de tous les utilisateurs des groupes locaux de la machine sur lequel le script est exécuté.

Dans le cas où un utilisateur d'un groupe ferait partit d'un domaine, j'aimerais que ce domaine soit précisé devant le nom de l'utilisateur. Ex : Mydomain\User

Le résultat de ce script devra retourner un .CSV de la sorte.

Serveur;Groupe;Utilisateurs;Description;Actif ou non

Actuellement voici ce que j'ai commencé :

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
 
Sub GetAdministrators(strComputerName)
    Const ForWriting = 2
	Dim fso, f
    Dim objWMIService, strQuery, colItems, Path, strMembers
    Set fso = CreateObject("Scripting.FileSystemObject")
	Set f = fso.OpenTextFile(strComputerName & ".csv",ForWriting,true)
	Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    strQuery = "select * from Win32_GroupUser"
    Set ColItems = objWMIService.ExecQuery(strQuery)
    strMembers = ""
    For Each Path In ColItems
        Dim strMemberName, NamesArray, strDomainName, DomainNameArray
        NamesArray = Split(Path.PartComponent,",")
        strMemberName = Replace(Replace(NamesArray(1),Chr(34),""),"Name=","")
        DomainNameArray = Split(NamesArray(0),"=")
        strDomainName = Replace(DomainNameArray(1),Chr(34),"")
        If strDomainName <> strComputerName Then
            strMemberName = strDomainName & "\" & strMemberName
        End If
        f.Write strComputerName & ";" & strMemberName & VBCRLF
    Next
End Sub
 
Function GetComputerName()
    Set objWMISvc = GetObject( "winmgmts:\\.\root\cimv2" )
    Set colItems = objWMISvc.ExecQuery( "Select * from Win32_ComputerSystem", , 48 )
    For Each objItem in colItems
        strComputerName = objItem.Name
        GetComputerName = strComputerName
    Next
End Function
 
GetAdministrators GetComputerName
Ce script me génère bien un CSV avec le nom du serveur et les utilisateurs (avec domaine ou non) mais je n'arrive pas à bien déterminer comment afficher le groupe ainsi que la description et l'activation du compte.

J'ai également l'impression qu'il me trouve plus d'utilisateurs qu'il ne devrait.

Pourriez-vous m'éclairer sur ces demandes ?

En vous remerciant d'avance.