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 :

Création BAL Exchange en C#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Par défaut Création BAL Exchange en C#
    Bonjour,

    Je viens vers vous car j'ai besoin d'aide pour une petite application que je développe en C# pour l'entreprise dans laquelle je suis en stage.
    J'explique succintement :
    C'est une application WPF qui servira entre autres à créer un compte utilisateur dans l'AD et, en lien avec ce compte, un compte Exchange 2010.
    Concernant la création de l'utilisateur dans l'AD, c'est OK. Mais pour la création du compte Exchange j'ai quelques soucis.
    J'ai déjà cherché partout sur le net et dans les forums mais je n'ai rien trouvé de concluant.
    J'espère ne pas importuner en posant ma question et j'espère avoir bien choisi le topic.

    Voici ma fonction de création de compte Exchange :
    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
    44
    45
    /*** Exchange ***/
            public static string CreateMail(string username, string adminUsrName, SecureString adminPwd, string domain)
                {
                    PSCredential credential = new PSCredential(adminUsrName, adminPwd);
     
                    // Set the connection Info
                    string shellUri = "http://sbserver2011.training.local/Microsoft.Exchange";
                    string temp = "http://sbserver2011.training.local/Powershell";
                    Runspace runspace;
     
                    WSManConnectionInfo connectionInfo = new WSManConnectionInfo((new Uri(shellUri)), temp, credential);
                    connectionInfo.AuthenticationMechanism = AuthenticationMechanism.Basic;
                    runspace = RunspaceFactory.CreateRunspace(connectionInfo);
     
                    PowerShell powershell = PowerShell.Create();
                    StringBuilder stringBuilder = new StringBuilder();
     
                    try
                    {
                        /*PSCommand cmdSession = new PSCommand();
                        cmdSession.AddCommand("New-PSSession");
                        cmdSession.AddParameter("ConnfigurationName", "Microsoft.Exchange");
                        cmdSession.AddParameter("ConnectionUri", "");*/
     
                        PSCommand cmdMailBox = new PSCommand();
                        cmdMailBox.AddCommand("Enable-Mailbox");
                        cmdMailBox.AddParameter("Identity", domain + "\\" + username);
                        cmdMailBox.AddParameter("Database", "@mailboxDatabase");
                        powershell.Commands = cmdMailBox;
                        runspace.Open();
                        powershell.Runspace = runspace;
                        powershell.Invoke();
     
                    } catch (Exception ex)
                        {
                            String message = ex.Message;
                            System.Windows.MessageBox.Show(message);
                            //System.IO.File.WriteAllText(home + "\\log\\errors.log", message);
                        }
     
                        runspace.Dispose();
                        powershell.Dispose();
     
                        return stringBuilder.ToString();
                }
    Donc quand j'appelle cette fonction, j'ai l'exception suivante :

    "La connexion au serveur distant a échoué avec le message d'erreur suivant : Le client WinRM ne peut pas traiter la demande. Le trafic non chiffré est actuellement désactivé dans la configuration du client. Modifiez la configuration du client et renouvelez la demande."

    Est-ce que quelqu'un saurait par hasard d'où provient le problème, et où on peut faire la configuration en question ?

    Merci d'avance!!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Je ne connais pas ces classes mais d'après le message d'erreur que tu as, il semblerait que le serveur distant n'accepte pas les demandes chiffrées.
    J'ai vu en regardant la doc de la classe "WSManConnectionInfo" qu'il y a une propriété "NoEncryption". Je suppose qu'elle est à "false" par défaut. Essaye de la mettre à true :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    WSManConnectionInfo connectionInfo = new WSManConnectionInfo((new Uri(shellUri)), temp, credential);
    connectionInfo.AuthenticationMechanism = AuthenticationMechanism.Basic;
    connectionInfo.NoEncryption=true;
    ...

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Par défaut
    J'ai la même erreur à la ligne

    runspace.Open();

    pour un code similaire...

    et ce quel que soit le mécanisme d'encryption que j'utilise.

    Si quelqu'un a une solution...
    Pour moi, l'objectif est de créer des comptes AD (ça, ça fonctionne) et les adresses mail correspondantes via un site web en c#.net 4.5.1 déporté sur un serveur hors domaine...

    Un grand merci d'avance à qui aura, ne serai-ce q'une idée !

  4. #4
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Par défaut Solution !
    Bonjour,

    Merci pour vos réponses.
    Je n'ai pas essayé les solutions que vous m'avez proposé car j'ai continué mes recherches et trouvé une solution :
    il suffit de configurer WinRM afin d'autoriser les trafics http non chiffrés.

    En fait j'ai finalement trouvé un forum où quelqu'un avait rencontré le même problème (le voici !).
    Au vu de la solution qui y était proposée j'ai cherché et trouvé une configuration (de VMware, mais elle fonctionne !) : http://pubs.vmware.com/orchestrator-...DDA5CC3C1.html

    Voila, en espérant que ça aidera !
    Have a nice day !

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

Discussions similaires

  1. [OL-2010] Pb création compte exchange 2003
    Par grandblabla dans le forum Outlook
    Réponses: 1
    Dernier message: 07/06/2015, 16h29
  2. Réponses: 0
    Dernier message: 24/06/2010, 18h45
  3. Synchronisation de bal exchange
    Par djorfe dans le forum Windows Forms
    Réponses: 3
    Dernier message: 11/03/2008, 08h47
  4. Création de boîte aux lettres Exchange sous VB.net
    Par feladan dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/10/2007, 09h17
  5. Réponses: 1
    Dernier message: 24/07/2007, 11h34

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