IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Test si un utilisateur AD est dans un groupe AD


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2015
    Messages : 99
    Points : 45
    Points
    45
    Par défaut Test si un utilisateur AD est dans un groupe AD
    Bonjour

    Je souhaite tester si un user AD est dans un groupe AD

    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
     
     
                // set up domain context
                PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "MYDOMAINNET");
     
                // find a user
                UserPrincipal user = UserPrincipal.FindByIdentity(ctx, strUserName);
     
                // find the group in question
                GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "GROUP-IT");
     
                if (user != null)
                {
                    // check if user is member of that group
                    if (user.IsMemberOf(group))
                    {
                        // do something.....
                        MessageBox.Show("TRUE");
                    }
                }
    Donc là en somme je teste si le nom d'utilisateur qui se trouve dans strUserName fait parti du groupe GROUP-IT.

    Si je lance l'.exe en compte administrateur ça fonctionne nickel, mais les autres comptes AD n'ont pas accès à l'AD donc peuvent pas vérifier si leur utilisateur fait parti d'un groupe j'obtiens l'erreur qui suit:

    Consultez la fin de ce message pour plus de détails sur l'appel du débogage
    juste-à-temps (JIT) à la place de cette boîte de dialogue.

    ************** Texte de l'exception **************
    System.DirectoryServices.Protocols.LdapException: La connexion ne peut pas être établie.
    à System.DirectoryServices.Protocols.ConnectionHandle..ctor(IntPtr value, Boolean disposeHandle)
    à System.DirectoryServices.Protocols.LdapConnection.Init()
    à System.DirectoryServices.Protocols.LdapConnection..ctor(LdapDirectoryIdentifier identifier, NetworkCredential credential, AuthType authType)
    à System.DirectoryServices.Protocols.LdapConnection..ctor(LdapDirectoryIdentifier identifier)
    à System.DirectoryServices.Protocols.LdapConnection..ctor(String server)
    à System.DirectoryServices.AccountManagement.PrincipalContext.ReadServerConfig(String serverName, ServerProperties& properties)
    à System.DirectoryServices.AccountManagement.PrincipalContext.DoServerVerifyAndPropRetrieval()
    à System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextType contextType, String name, String container, ContextOptions options, String userName, String password)
    à System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextType contextType, String name)
    à CheckIfAdGroupMember.Form1.Form1_Load(Object sender, EventArgs e) dans \Form1.cs:ligne 24
    à System.Windows.Forms.Form.OnLoad(EventArgs e)
    à System.Windows.Forms.Form.OnCreateControl()
    à System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
    à System.Windows.Forms.Control.CreateControl()
    à System.Windows.Forms.Control.WmShowWindow(Message& m)
    à System.Windows.Forms.Control.WndProc(Message& m)
    à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    à System.Windows.Forms.Form.WmShowWindow(Message& m)
    à System.Windows.Forms.Form.WndProc(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** Assemblys chargés **************
    mscorlib
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.1055.0 built by: NETFXREL2
    CodeBase*: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
    ----------------------------------------
    CheckIfAdGroupMember
    Version de l'assembly*: 1.0.0.0
    Version Win32*: 1.0.0.0
    CodeBase*: file:///H:/Visual%20Studio%202015/Projects/CheckIfAdGroupMember/CheckIfAdGroupMember/bin/Debug/CheckIfAdGroupMember.exe
    ----------------------------------------
    System.Windows.Forms
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.1055.0 built by: NETFXREL2
    CodeBase*: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.1075.0 built by: NETFXREL3STAGE
    CodeBase*: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Drawing
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.1068.2 built by: NETFXREL3STAGE
    CodeBase*: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Configuration
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.1055.0 built by: NETFXREL2
    CodeBase*: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Core
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.1055.0 built by: NETFXREL2
    CodeBase*: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------
    System.Xml
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.1064.2 built by: NETFXREL3STAGE
    CodeBase*: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.DirectoryServices.AccountManagement
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.1055.0 built by: NETFXREL2
    CodeBase*: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.DirectoryServices.AccountManagement/v4.0_4.0.0.0__b77a5c561934e089/System.DirectoryServices.AccountManagement.dll
    ----------------------------------------
    System.DirectoryServices
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.1055.0 built by: NETFXREL2
    CodeBase*: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.DirectoryServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.dll
    ----------------------------------------
    System.DirectoryServices.Protocols
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.1055.0 built by: NETFXREL2
    CodeBase*: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.DirectoryServices.Protocols/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.Protocols.dll
    ----------------------------------------
    System.DirectoryServices.Protocols.resources
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.79.0 built by: NETFXREL2
    CodeBase*: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.DirectoryServices.Protocols.resources/v4.0_4.0.0.0_fr_b03f5f7f11d50a3a/System.DirectoryServices.Protocols.resources.dll
    ----------------------------------------
    System.Windows.Forms.resources
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.1055.0 built by: NETFXREL2
    CodeBase*: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll
    ----------------------------------------
    mscorlib.resources
    Version de l'assembly*: 4.0.0.0
    Version Win32*: 4.6.1055.0 built by: NETFXREL2
    CodeBase*: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/mscorlib.resources.dll
    ----------------------------------------

    ************** Débogage JIT **************
    Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
    application ou cet ordinateur (machine.config) doit avoir la valeur
    jitDebugging définie dans la section system.windows.forms.
    L'application doit également être compilée avec le débogage
    activé.

    Par exemple*:

    <configuration>
    <system.windows.forms jitDebugging="true" />
    </configuration>

    Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
    seront envoyées au débogueur JIT inscrit sur l'ordinateur
    plutôt que d'être gérées par cette boîte de dialogue.

    Ma question : comment exécuter le petit bout de code qui teste si le compte qui lance l'appli fait parti d'un groupe en tant qu'admin réseau ?

    Merci.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Points : 762
    Points
    762
    Par défaut
    As-tu essayé de lancer visual studio en mode administrateur puis de lancer ton programme en debug ?
    Normalement il devrait hériter des droits admin de VS.

Discussions similaires

  1. -x test si un executable est dans le path ?
    Par Zwiter dans le forum Langage
    Réponses: 9
    Dernier message: 28/08/2009, 10h46
  2. Test si une valeur est dans un intervale
    Par olibara dans le forum Excel
    Réponses: 3
    Dernier message: 18/02/2009, 08h09
  3. Un utilisateur est dans shadow, mais pas dans passwd
    Par gifffftane dans le forum Administration système
    Réponses: 2
    Dernier message: 03/12/2008, 17h03
  4. savoir si l'utilisteur est dans un groupe
    Par popofpopof dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/12/2007, 21h22
  5. Réponses: 1
    Dernier message: 13/11/2007, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo