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

VB.NET Discussion :

[VB.NET] WMI passer les postes en DHCP - erreur rpc failed


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut [VB.NET] WMI passer les postes en DHCP - erreur rpc failed
    Bonjour,

    Je dois réaliser en entreprise une application qui force les machines au sein d'un réseau à basculer en DHCP. J'ai écrit le code suivant, mais je suis bloqué car lors de l'éxécution un message d'erreur s'affiche:
    Echec de l'appel de procédure distante (HRESULT: 0x800706BE).
    Malgré ce message le poste bascule bien en DHCP mais mon application se bloque. Je pense que comme le poste bascule en DHCP il ne répond plus et donc la connexion rpc est rompue.

    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
     
            Dim connexion As New ConnectionOptions
            Dim managementscope As New ManagementScope("\\" & strComputer & "\root\cimv2", connexion)
            Dim objquery As ObjectQuery = New ObjectQuery("select * from Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE")
            Dim oService As System.Management.ManagementObject
            Dim Searcher As New System.Management.ManagementObjectSearcher(managementscope, objquery)
            managementscope.Connect()
     
     
            Dim objcollection As ManagementObjectCollection = Searcher.Get
            For Each oService In objcollection
     
            Try
     
                    Dim outParams As ManagementBaseObject = oService.GetMethodParameters("enableDHCP")
                    oService.InvokeMethod("enableDHCP", outParams, Nothing)
                    MessageBox.Show("DHCP activé")
                    Exit For
     
                Catch err As ManagementException
                    MessageBox.Show("An error occurred while trying to execute the WMI method: " & err.Message)
                Catch unauthorizedErr As System.UnauthorizedAccessException
                    MessageBox.Show("Connection error (user name or password might be incorrect): " & unauthorizedErr.Message)
                End Try
            Next
    Si quelqu'un à déjà rencontré ce problème ou bien qui a une idée je suis preneur.
    Merci.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Solution
    Voila je viens de trouver la solution.

    Le problème vient effectivement du fait que le basculement du poste en DHCP coupe la connexion RPC. au niveau de mon code, j'ai mis un "try" mais le catch ne récupère pas la bonne exception. Du coup j'ai ajouté un second try ce qui donne:

    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
     
     Try
     
                    Dim outParams As ManagementBaseObject = oService.GetMethodParameters("enableDHCP")
     
                    Try
                        oService.InvokeMethod("enableDHCP", outParams, Nothing)
                    Catch ex As Exception
     
                    End Try
     
                    MessageBox.Show("DHCP activé")
                    Exit For
     
                Catch err As ManagementException
     
                    MessageBox.Show("An error occurred while trying to execute the WMI method: " & err.Message)
     
                Catch unauthorizedErr As System.UnauthorizedAccessException
     
                    MessageBox.Show("Connection error (user name or password might be incorrect): " & unauthorizedErr.Message)
     
     
     
                End Try
    Voila, je n'ai plus de message d'erreur, et mon programme continue sans problème.

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

Discussions similaires

  1. Passer les requetes GET et POST en UTF-8
    Par deudtens dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 05/05/2008, 09h08
  2. Réponses: 3
    Dernier message: 31/10/2006, 11h03
  3. Réponses: 2
    Dernier message: 26/09/2006, 08h56
  4. passer les parametres par la methode POST
    Par abdou.sahraoui dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 07/08/2006, 10h18

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