Ba en vbscript ca se fait bien :
Connexion sur AD.(ADSI)
Récupération de tous les objets de type groupe :
Set objConnection = CreateObject("ADODB.Connection" )
objConnection.Open "Provider=ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command" )
objCommand.ActiveConnection = objConnection
objCommand.CommandText = "<LDAP://dc=mon,dc=domaine,dc=test>;(objectCategory=Group);distinguishedName,primaryGroupToken;subtree"
Set objRecordSet = objCommand.Execute
Do Until objRecordset.EOF
WScript.Echo objRecordset.Fields("distinguishedName" )
objRecordset.MoveNext
Loop
objConnection.Close
Choix déroulant des groupes
Listage des membres du groupe sélectioné :
strContainer = ""
strName = "EzAdGroup"
On Error Resume Next
'***********************************************
'* Connect to an object *
'***********************************************
Set objRootDSE = GetObject("LDAP://rootDSE" )
If strContainer = "" Then
Set objItem = GetObject("LDAP://" & _
objRootDSE.Get("defaultNamingContext" ))
Else
Set objItem = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & _
objRootDSE.Get("defaultNamingContext" ))
End If
'***********************************************
'* End connect to an object *
'***********************************************
WScript.Echo VbCrLf & "** Member Properties Page**"
WScript.Echo "** (MultiValued Attributes) **"
strmember = objItem.GetEx("member" )
WScript.Echo "member:"
For Each Item in strmember
WScript.Echo vbTab & Item
Next
Exécution du Net Send par :
StrUser ="toto"
Set WshShell = CreateObject("WScript.Shell" )
Set oExec = WshShell.Exec("net send " & StrUser & " Ton message" )
En dehor de l'exec du net send, toutes les autres lignes ont étés trouvées sur le site Microsoft en quelques clics, reste plus qu'a utiliser un Array pour stocker la liste des groupes et le présenter en listBox pour choisir le groupe à lister pour exécuter dans la boucle "For Each Item in strmember" le net send. Là je te laisses faire ou alors je te comunique mon tarif horaire lol ;-)