Trouver sid et autres infos utilisateur grâce à wmi

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 884 fois - Téléchargée 30 fois

Contenu du snippet

Tout est dans le titre...
La source n'est pas de moi, merci MSDN.
Je ne trouvais pas de moyen simple de le faire sur ce site alors je l'ajoute.
J'espère que ça pourra éviter à certains de chercher pendant des heures.

Source / Exemple :


Option Explicit

Private Sub Form_Load()
   
    getSID

End Sub

Private Sub getSID()
      
    Dim objset
    Dim obj

    Set objset = GetObject("winmgmts:{impersonationLevel=impersonate}"). _
                                      InstancesOf("Win32_Account")
    On Local Error Resume Next

    For Each obj In objset
        If obj.Name = "Administrateur" Then
            MsgBox "Caption: " & obj.Caption & vbCrLf & _
            "Description: " & obj.Description & vbCrLf & _
            "Domain: " & obj.domain & vbCrLf & _
            "InstallDate: " & obj.InstallDate & vbCrLf & _
            "LocalAccount: " & obj.LocalAccount & vbCrLf & _
            "Name: " & obj.Name & vbCrLf & _
            "SID: " & obj.SID & vbCrLf & _
            "SIDType: " & obj.SIDType & vbCrLf & _
            "Status : " & obj.Status
            Exit For
        End If
    Next
   
End Sub

A voir également

Ajouter un commentaire Commentaires
Messages postés
51
Date d'inscription
mercredi 29 septembre 2004
Statut
Membre
Dernière intervention
7 juillet 2010

Salut !
Et bien je vois 2 solutions... mais il y en a sûrement d'autres.
Avec wmi, chercher dans chaque groupe si l'utilisateur en fait partie...
Je ne connais pas plus simple avec wmi.
Sinon :

Set UserObj = GetObject("WinNT://Domain/User")

For Each GroupObj In UserObj.Groups
MsgBox GroupObj.Name
Next

Set UserObj = Nothing
Set GroupObj = Nothing

J'espère que ça t'aidera.
Messages postés
2
Date d'inscription
mercredi 16 octobre 2002
Statut
Membre
Dernière intervention
5 janvier 2013

Salut Media6,
Merci pour ta source je cherchais un truc du genre.
Par contre je cherche a retrouver les groupes associes a un user.
J'ai tente au bluff:
GetObject("winmgmts:{impersonationLevel=impersonate}"). _
InstancesOf("Win32_Account")

et ca m'a donne la liste des groupes sur mon poste mais je n'ai pas le lien entre les users et les groupes.

Aurais-tu une astuce?

Merci d'avance.
Kaniass
Messages postés
51
Date d'inscription
mercredi 29 septembre 2004
Statut
Membre
Dernière intervention
7 juillet 2010

cette source pourrait servir à lancer un programme pour un UTILISATEUR unique par exemple (le SID est unique) mais serait valable sur tous les ordinateurs avec ce même login... Pour en exécuter un sur une machine unique, il faudrait plutôt tester le numéro de série du DD par exemple ou encore l'adresse MAC de la machine sur laquelle on veut exécuter le programme.
J'espère que je réponds à ta question !
Messages postés
55
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
3 mai 2006

Bonjour.
Pourriez m'indiquez a quoi sers réellement cette source?
Car en fait je cherche un systeme qui permet de faire en sorte que le programme ne puisse être lancé que sur une machine unique.
En fait pour se connecter a mon programme il y a un systeme de login et pass.
Mais j'aimerais qu'il marche que sur une machine.
afin que l'a personne ne donne pas ces identifiants et que tout le monde puisse se connecter avec.
Je ne sais pas si j'ai été très clair lol^^
^Merci.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.