begin process at 2012 02 10 12:19:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Mono

 > 

Général

 > 

changements sur active directory


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

changements sur active directory

lundi 17 septembre 2007 à 10:19:44 | changements sur active directory

dorine82

Salut à tous,

j'ai écrit un programme qui lit un fichier texte et le met dans un tableau et ensuite travaille avec ce tableau

Ce fichier était avant sur cette forme ci :

100 ;SG

101 ;SA

.

.

.

.

et maintenant j'ai un tableau de la sorte

 

Tel

User

100

SG

101

SA

...

...

 

le but de mon programme est d'assigner à chaque utilisateur de active directory leur numéros de telephone.

 

Donc mon programme lit en fait chaque ligne sur la colonne « User » de mon tableau , fait une recherche sur active directory, et quand il a trouvé le user il lui assigne le numéro de telephone qui sur le tableau.

 

Un exemple : il lit la 1ere colonne de User qui est SG , il fait une recherche sur active directory et quand il a trouvé SG il lui assigne donc le numéro 110 du tableau ; et il en est ainsi pour tous les utilisateurs qui sont dans le tableau.

 

Mon programme en principe devrait marcher , mais il a d' abord mis a tous mes user dans active directory la valeur 502 qui est la derniere valeur de mon tableau et ensuite , il n'a plus fait de changements.

 

Je ne sais pas s' il y' a quelque chose qui est faux avec mon programme.

 

 

S' il vous plait aidez moi à retrouver ce qui ne va pas.

 

 

Merci d' avance.

 

Voilà mon code :



using System;
using System.Drawing;
using System.Collections;
using System.Collections.Generic;
using System.DirectoryServices;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.IO.Compression;
using System.Reflection;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using System.Text;

namespace fichier
{
    public class Form1 : System.Windows.Forms.Form
    {
        private System.Windows.Forms.DataGrid dataGrid1;
        private Button btnWriteToLDAP;
        private DataTable m_dt;
        //private System.Windows.Forms.TextBox textBox1;

        //<summary>
        // required designer variable.

        private System.ComponentModel.Container components = null;
        public Form1()
        {
            // required for windows Form Designer support

            InitializeComponent();

            // TODO Add any constructor code after InitializeComponent call
        }

        // clean up any resources being used

        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (components != null)
                {
                    components.Dispose();
                }
            }
            base.Dispose(disposing);
        }
        #region Windows Form Designer generated code

        // required method for designer support - do not modify
        // the contents of this method with the code editor.

        private void InitializeComponent()
        {
            this.dataGrid1 = new System.Windows.Forms.DataGrid();
            this.btnWriteToLDAP = new System.Windows.Forms.Button();
            ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
            this.SuspendLayout();
            //
            // dataGrid1
            //
            this.dataGrid1.DataMember = "";
            this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
            this.dataGrid1.Location = new System.Drawing.Point(8, 40);
            this.dataGrid1.Name = "dataGrid1";
            this.dataGrid1.Size = new System.Drawing.Size(400, 400);
            this.dataGrid1.TabIndex = 0;
            //
            // btnWriteToLDAP
            //
            this.btnWriteToLDAP.Location = new System.Drawing.Point(415, 40);
            this.btnWriteToLDAP.Name = "btnWriteToLDAP";
            this.btnWriteToLDAP.Size = new System.Drawing.Size(75, 23);
            this.btnWriteToLDAP.TabIndex = 1;
            this.btnWriteToLDAP.Text = "WriteToLDAP";
            this.btnWriteToLDAP.UseVisualStyleBackColor = true;
            this.btnWriteToLDAP.Click += new System.EventHandler(this.btnWriteToLDAP_Click);
            //
            // Form1
            //
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(680, 425);
            this.Controls.Add(this.btnWriteToLDAP);
            this.Controls.Add(this.dataGrid1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);
            ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
            this.ResumeLayout(false);

        }


        #endregion
        // the main entry point for the application
        [STAThread]
        static void Main()
        {
            Application.Run(new Form1());
        }
        private void Form1_Load(object sender, System.EventArgs e)
        {

          
            m_dt = new DataTable("test");
     
            m_dt.Columns.Add("TelephoneNumber", System.Type.GetType("System.Int32"));
            m_dt.Columns.Add("User", System.Type.GetType("System.String"));
            StreamReader fichier = File.OpenText(@"h:\\export.txt");
            while (fichier.Peek() >= 0)
            {
             
                string ligne = fichier.ReadLine();
                string[] vals = ligne.Split(';');
                DataRow dr = m_dt.NewRow();
                try
                {
                    dr["TelephoneNumber"] = int.Parse(vals[0]);
                    dr["User"] = vals[1];
                    m_dt.Rows.Add(dr);
                }

                catch (Exception ex)
                {
                    Console.WriteLine(ex.GetType().ToString());
                    Console.ReadLine();
                }

            }

         
            dataGrid1.DataSource = m_dt;
        }


        private void btnWriteToLDAP_Click(object sender, EventArgs e)
        {
            try
            {
    
                DirectoryEntry deUser = new DirectoryEntry("LDAP://ou=User, ou=User Office, ou=User, DC=hte,DC=intra", "don", "mamanetpapa");

   
                DirectorySearcher searchEmploye = new DirectorySearcher(deUser);

        

                searchEmploye.Filter = "(objectClass= user)";

        
                //FindAll ist eine Methode , die uns erlaubt , alle Ergebnisse zu geben , die die suche entspricht


                foreach (SearchResult unResultat in searchEmploye.FindAll())
                {

             
                    DirectoryEntry unEmploye = unResultat.GetDirectoryEntry();

            
                    foreach (DataRow row in m_dt.Rows)
                    {
                      
                            if (unEmploye.Properties["SAMAccountName"].Value == row[1])
                            {
                                unEmploye.Properties["telephoneNumber"].Value = row[0];
                                unEmploye.CommitChanges();
                            }
                                           }
                }
           }

            catch (Exception ex)
            {
                Console.WriteLine(ex.GetType().ToString());
            }

            }
        }
    }


merci encore pour votre aide généreuse

Dorine



Cette discussion est classée dans : system, user, using, datagrid1, btnwritetoldap


Répondre à ce message

Sujets en rapport avec ce message

message d'erreur [ par dorine82 ] salut à tous,j' ai ecrit un code qui devrait pouvoir lire mon fichier et le mettre dans un tableau mais je recois un message d' erreur.mon fichier est urgent problème [ par dorine82 ] salut à tous,me revoila de nouveau avec un nouveau problème(faute à mon chef).je prie que vous puissiez m' aidez.merci d' avance.en fait voila mon pro IAsyncResult [ par guitoulefoux ] Bonjour, J'ai un grand besoin de vos connaissances. En effet, je suis débutant dans la technologie « .net » et je dois effectuer une développement IAsyncResult [ par guitoulefoux ] Bonjour, J?ai un grand besoin de vos connaissances. En effet, je suis débutant dans la technologie « .net » et je dois effectuer une développement C# : techniques de programmation. [ par Evil_Gouki_X ] Bonjour a tous.voila j'ai debute C# il y a quleques heures et j'ai une question sur les techniques de programmation. j'ai fait une recherche mais je n Récupération de la taille de plusieurs fichier [ par sliverman ] Bonjour à tous, alors voila, j'ai un listBox avec comme headerNom et Taille et je voudrais justement récupéré la taille des fichier que je Création de Task executé avant la compliation. [ par sosekeyser ] Bonjour, Je souhaite executer des tâches persos avant où après la compilation d'un projet. Exemple d'application : J'auto-incrémente la version du pro event handler javascript pour un composant c# [ par Dennon ] Bonjour, j'ai réalisé un simple composant c# (interoprable com) qui fait une additionce composant a une methode publique qui realise l'addition et l'a Problème avec WMI [ par el_filosof ] Bonjour,Je travaille avec le framework 2.0, et je developpe une application qui récupère des infos sur les process grace a WMI. J'ai deux problèmes:   import de donnée de table en c# [ par tazagaga ] Bonjour, j'aimerai recupéré les donné d'une ligne d'une table en c# j'illustre ma demande: majpz2 //la table IDlibelle IDgeo periode valeur sign


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales