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); // } } }
Partager