créer une boite aux lettres exchange 2007 avec c#

Odpovědět créer une boite aux lettres exchange 2007 avec c#

  • 29. února 2012 17:47
     
     
     

    bonjour à tous,

    je suis entrain de concevoir une interface asp.net et le langage c#, le but de cette interface est de permettre la manipulation des objets exchange 2007.

    d'abord j'ai essayé de créer une boite aux lettres en utilisant le code suivant :

    try{

    bool succeed = true;

    ICollection results;

    //Create a Runespace and add commands

    RunspaceConfiguration runspaceConfig = RunspaceConfiguration.Create();

    PSSnapInException snapEX = null;

    PSSnapInInfo snampInfo = runspaceConfig.AddPSSnap("Microsoft.Exchange.Management.PowerShell.Admin",out snapEX);

    Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfig);

    runspace.Open();

    //Creates a pipeline

    Pipeline pipeLine = runspace.CreatePipeline();

    using (pipeLine){

    //creates a command

    Command createMailbox = new Command("Enable-Mailbox");

    createMailbox.Parameters.Add("server", "mailserver" );

    createMailbox.Parameters.Add("identity" , prenom + nom);

    createMailbox.Parameters.Add("database", "Mailbox Database" );

    //add command to pipeline

    pipeLine.Commands.Add(createMailbox);

    //executes pipline

    results = pipeLine.Invoke();

    //checks pipeline errors if any throw exception

    if (pipeLine.Error != null && pipeLine.Error.Count > 0){

    string temp = "";

    foreach (object item in pipeLine.Error.ReadToEnd()){

    temp += item.ToString() + "\n";

    }

    throw new ArgumentException(temp);

    }

    if (results == null || results.Count > 0)

    succeed = false;

    //false if fail

    }

    //closes connections

    pipeLine = null ;

    runspace.Close();

    runspace = null ;

    // return succeed;

    }

    catch (Exception E)

    {

    throw new Exception(E.Message);

    }

    mais à chaque exécution j'obtiens le message suivant : "Aucun composant logiciel enfichable n'a été inscrit pour Windows PowerShell version 2"

    je signale que je suis entrain de tourner sur un windows xp sur lequel j'ai déjà installé windows powershell v2.

Všechny reakce

  • 29. února 2012 18:35
    Moderátor
     
     Odpovědět

    Bonjour,

    Avez-vous installé les composants clients nécessaire à l'administration d'Exchange sur votre poste ?

    Au passage, sachez qu'il existe des WebService simple d'utilisation que vous permettent de manipuler exchange. Pour plus d'informations : http://msdn.microsoft.com/en-us/exchange/aa731543

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

  • 29. února 2012 19:12
     
     

    bonsoir Mr Gilles,

    et merci pour votre réponse .

    non je n'ai pas encore installer les composants client exchange sur mon poste ...

    s'il existe des webserice permettant de faire ça simplement je suis preneur, donc je vais regarder ce que propose ce site et je reviens vers vous aprés .

    Merci beaucoup.

  • 1. března 2012 13:00
    Moderátor
     
     Odpovědět

    Bonjour,

    Ou sinon le problème pourrait être que l'on exécute le script sur le poste au lieu de le faire sur le serveur. Voir par exmeple http://msdn.microsoft.com/en-us/library/ff326159(v=exchg.140).aspx pour la partie connectioninfo qui permet d'appeler le script sur un serveur distant. Je dois avoir du code qq part pour le faire (par contre je suis en Exchange 2010 et d'parès les qq messages que je vois sur le sujet la mise en oeuvre semble plus délicate avec Exchange 2007, il faut peut-être au moins un SP2 ?)


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

  • 2. března 2012 19:34
     
     

    bonjour à tous,

    effectivement, maintenant aprés que j'ai installé les outils exchange sur mon poste, je me retrouve avec un nouveau message qui apparait désormais à chaque fois que j'essaye de créer un user et une boite, le message dit : Base de données « monpc.mondomaine.local\Mailbox Database » introuvable.Assurez-vous que vous l'avez tapée correctement.

    donc c'est comme si il cherche la banque d'information sur le poste local et non pas sur le serveur... et je me demandais s'il y'a un moyen pour modifier le script et l'orienter vers le serveur. 

    cordialement,


    • Upravený scania113 2. března 2012 19:39
    •  
  • 5. března 2012 0:24
    Moderátor
     
     

    Bonjour,

    Avez-vous réussi a exécuter la commande directement dans PowerShell ? Si vous n'y arrivez pas, essayez de poser la question sur les forums Exchange de Microsoft : http://social.technet.microsoft.com/Forums/fr-fr/1109/threads

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

  • 5. března 2012 8:18
    Vlastník
     
     
     

    Bonjour, Scania113,

    Je suis d’accord avec Gilles: on ne parle pas d’une erreur de développement et c’est plutôt une erreur dans le script. Pour ce type de problème vous pouvez obtenir d’aide sur TechNet. Je vais donc marquer les réponses de Patrice et Gilles (parce que la question initiale a été répondue) et je vous invite poser la question concernant votre dernière erreur sur TechNet.

    Merci de votre compréhension et collaboration !

    Bonne journée,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.