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

C# Discussion :

Synchroniser sql server et active directory via c#


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 96
    Points : 60
    Points
    60
    Par défaut Synchroniser sql server et active directory via c#
    voilà... tout d'abord, bonsoir
    je suis entrain de développer une dll qui sera integrée dans sql server 2005
    cette dll va devoir lire les enregistrements d'une table utilisateur un par un et les insérer dans active directory...

    j'arrive à ajouter des users dans active directory, j'arrive à créer une dll que j'insère dans sql server, dans sql server, j'ai créé une requête qui lit (via un curseur) les enregistrements de la table et qui execute une methode de la dll...

    mais mon problème, à part écrire les enregistrements dans un fichier, je ne sais pas quoi mettre dans la methode de la dll que j'utilise.

    tout ce que j'ai mis en commentaire est refusé par sql server lorque j'ajoute la dll dans l'assemblie... je suppose que c'est normal et donc ma question est quel doit être le fils à suivre pour y arriver en sachant que je ne connais rien aux dll qui sont acceptées par sql server 2005.

    voici la methode en question:
    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
     
    public static void CreateUser(string userName, string password, string displayName,string streetAddress)
    {
          using (new Impersonalization("Administrator", "MOSS-TDL", "Passw0rd"))
          {
                File.AppendAllText("c:\\test.txt", userName + " " + displayName + "\r\n");
                //string domainControler = "TestDomain";
                //string domainControler2 = "Local";
                //string administratorLogin = "Administrator";
                //string administratorPass = "Passw0rd";
                //string containerToInspect = "OU=Bidon";//(CN=) for a single folder in AD
     
                //try
                //{
                //      DirectoryEntry entry = ADSAppConnection(containerToInspect, administratorLogin, administratorPass, domainControler, domainControler2);
                //      DirectoryEntry newUser = entry.Children.Add("cn=" + userName, "User");
                //      newUser.Properties["SAMAccountName"].Add(userName);
                //      newUser.Properties["displayName"].Add(displayName);
                //      newUser.Properties["sn"].Add("User");
                //      newUser.Properties["givenName"].Add(userName);
                //      newUser.Properties["streetAddress"].Add(streetAddress);
                //      newUser.Properties["UserPrincipalName"].Add(userName + "@" + domainControler + "." + domainControler2);
                //      newUser.Properties["description"].Add("user " + userName + " inserted by sql with assembly Test");
                //      newUser.CommitChanges();
                //      DirectorySearcher searchedUser = new DirectorySearcher(entry);
                //      searchedUser.Filter = "SAMAccountName=" + userName;
                //      SearchResult result = searchedUser.FindOne();
                //      newUser = result.GetDirectoryEntry();
                //      newUser.Invoke("SetPassword", new object[] { password });
                //      newUser.Properties["userAccountControl"].Value = 512;
                //      //newUser.Properties["pwdLastSet"].Value = 0;
                //      newUser.CommitChanges();
     
    //            }
    //            catch (Exception ex)
    //            {
    //                  Console.WriteLine("Error : " + ex.Message);
    //                  if (ex.InnerException != null)
    //                        Console.WriteLine("Inner Exception : " + ex.InnerException.Message);
    //                  Console.WriteLine("Stacks : " + ex.StackTrace);
    //            }
          }
    }

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 96
    Points : 60
    Points
    60
    Par défaut
    alors... voilà, une solution que j'ai trouvée et dont je fait paret maintenant pour ceux qui ont le même problème... j'ai contourné le problème...

    les dll pour sql ne supporte pas les références ad mais supporte les références système de lancement d'application...

    j'ai donc juste écrit mon app dans un projet application console et j'ai ensuite créé une autre dll qui appelle mon exécutable de l'application AD et le tour est joué... reste à introduire la dernière dll dans sql de créer la stored procedure d'appel de la dll et d'exécuter la stored qui fonctionne sans ouvrir une console mais qui fonctionne comme je l'ai demandé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. synchronisation mots de passe Active Directory via IIFP sans PCNS
    Par CGR15121 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 20/03/2012, 17h36
  2. Lien SQL Server 2008R2 / Active directory
    Par colonel.klink dans le forum Développement
    Réponses: 8
    Dernier message: 21/12/2011, 08h50
  3. [LDAP] Mots de passe active directory via php
    Par chtijule dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 15/08/2009, 10h54
  4. Suse ENterprise server et Active Directory
    Par stormy dans le forum Réseau
    Réponses: 1
    Dernier message: 27/03/2007, 21h29
  5. [SQL-SERVER] Envoi de message via SQL server
    Par Sytchev3 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 15/03/2006, 10h41

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