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 :

Utilisation du management scope


Sujet :

VB.NET

  1. #1
    Membre éprouvé Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    Mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 066
    Par défaut Utilisation du management scope
    Pour me connecter à un ordinateur distant, j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim options As ConnectionOptions = New ConnectionOptions()
     
            options.Authority = "ntdlmdomain:" + Domain
            options.Username = Login
            options.Password = Mdp
     
            Dim scope As ManagementScope = New ManagementScope("\\" + AdressIP, options)
     
    scope.connect()
    L'instanciation de l'objet scope se fait sans erreur, par contre au moment du connect, une exception se lève avec le texte "paramètre non valide".

    Pourtant, quand j'utilise l'outil "connexion bureau à distance", sous Windows 7, et avec les mêmes paramètres, je n'ai aucun souci pour accéder à l'ordinateur en question.


    C'est la première fois que j'utilise cet objet. Quelqu'un peut m'éclairer sur son fonctionnement ?


    NB : Si j'enlève le "\\", j'ai la même exception, mais au niveau du New ManagementScope(AdressIP, options)

  2. #2
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    Vérifie la construction de ConnectionOptions est correcte : ConnectionOptions MSDN
    Car là tu instancies avec le constructeur par défaut, puis tu changes qlqes properties, mais les autres restent à leurs valeurs par défaut...

    Et vérifie que Mdp soit un SecureString, sinon tu te retrouves avec cette instanciation qui est recommandée pour une connexion WMI.


    Tu peux aussi t'inspirer de ce tuto d'MSDN : Comment : se connecter à un ordinateur distant

  3. #3
    Membre éprouvé Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    Mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 066
    Par défaut
    Justement, j'ai calqué mon code sur celui dans le tutoriel que tu mentionnes

    Citation Envoyé par _Ez3kiel Voir le message
    Du coup, je vais chercher du coté des options, merci pour ton lien sur ce point précis.

    [edit] Pour les "options", à quoi correspond le paramètre "locale", dont la valeur est "MS_409" dans l'exemple ? Je ne vois pas du tout à quoi il sert ... [/edit]

    [edit2]
    Je ne sais pas si j'ai progressé ou non, mais maintenant, avec ce paramétrage des options :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Dim options As ConnectionOptions = New ConnectionOptions("MS_409", Login, Mdp, "ntlmdomain:" + Domain, System.Management.ImpersonationLevel.Impersonate, System.Management.AuthenticationLevel.Default, False, Nothing, System.TimeSpan.MaxValue)
    J'ai toujours un message d'erreur au niveau du connect, toutefois il est différent, et il est devenu : "Les références utilisateur ne peuvent pas être utilisées pour des connexions locales"
    [/edit2]

  4. #4
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    1er PS : ConnectionOptions.Locale
    Pour les identificateurs de paramètres régionaux Microsoft, le format de la chaîne est "MS_xxx", où xxx est une chaîne sous forme hexadécimale indiquant le LCID (Locale Identification) ; par exemple, l'anglais américain serait indiqué comme suit : "MS_409".

    2éme PS :
    Ton erreur signifie que que tu ne peux pas te connecter à distance sur toi-même.


    Et après avoir lu d'autres sources, dont MSDN, ta construction était en fait bonne ... Pas taper !
    Donc l'erreur est dans un des 2 paramètres de ton objet ManagementScope, il faudrait que tu regardes la valeur de "AdressIP" (en espérant que ce ne soit pas 127.0.0.1)

  5. #5
    Membre éprouvé Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    Mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 066
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Ton erreur signifie que que tu ne peux pas te connecter à distance sur toi-même ... regardes la valeur de "AdressIP"
    Je ne pense pas que le souci viennent de l'adresse IP, car mon ordinateur est en IP fixe (10.151.2.132) et l'adresse IP de l'ordinateur de destination (10.151.2.121) est lue depuis un fichier de configuration.

    De plus, les deux ordinateurs sont sur le même réseau informatique et appartiennent aussi au même domaine.

    Citation Envoyé par _Ez3kiel Voir le message
    Donc l'erreur est dans un des 2 paramètres de ton objet ManagementScope
    Si tu veut parler du login et du mot de passe, ils sont bons car :

    Citation Envoyé par shadowmoon
    Pourtant, quand j'utilise l'outil "connexion bureau à distance", sous Windows 7, et avec les mêmes paramètres, je n'ai aucun souci pour accéder à l'ordinateur en question.

  6. #6
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ' Make a connection to a remote computer.
            ' Replace the "FullComputerName" section of the
            ' string "\\FullComputerName\root\cimv2" with
            ' the full computer name or IP address of the
            ' remote computer.
            Dim scope As ManagementScope
            scope = New ManagementScope( _
                "\\FullComputerName\root\cimv2")
            scope.Connect()
    Selon MSDN, il faut remplacer "FullComputerName" par le nom du pc, ou l'ip, ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    scope = New ManagementScope( _
                "\\10.151.2.xxx\root\cimv2")
    Je l'interprète comme cela, après je ne suis pas sûr.

  7. #7
    Membre éprouvé Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    Mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 066
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scope = New ManagementScope("\\10.151.2.xxx\root\cimv2", ...)
    Ca a l'air d'etre la bonne facon de faire, car, avec ce code, j'ai une autre erreur au moment du connect :

    "Accès refusé. (Exception de HRESULT : 0x80070005 (E_ACCESSDENIED))"

    Je vais chercher à quoi elle correspond précisément. J'éditerais dès que j'ai qqch de concret.

    [edit]c'est en anglais, mais il me semble que c'est ça ou je me trompe ?

    The error "Access is denied Exception from HRESULT: 0x80070005" indicates the requested user has no access to remote machine via WMI service.

    You need to add "Remote Access" permission to ASPNET account on WMI component service.

    Walkthrough: Do the following settings on remote server "192.168.0.2" side:

    Run dcomcnfg command (via Start menu -> Run dialog) to bring up Component Services window.
    Expand nodes: Component Services -> Computers -> My Computer > DCOM Config
    Scroll down list, right-click Windows Management and Instrumentation, and select Properties, then "Management and Instrumentation Properties" window will be displayed.
    Select the Security tab, then select "Customize" radio button to activate the Edit button, then you will see such two permission options ("Local Access" , "Remote Access") for each account.
    Add the ASPNET account, and assign the "Remote Access" permission.
    Reboot the server.
    source : http://social.msdn.microsoft.com/For...e-f702d6fa1349

    [/edit]

    [edit2]
    Concernant l'avant dernier point " Add the ASPNET account, and assign the "Remote Access" permission. ", je n'ai pas d'utilisateur ou de compte nommé ASPNET (nin meme un truc approchant) dans la liste des comptes possibles.

    Existe-t-il un moyen de "créer" ce compte utilisateur ?
    [/edit2]

  8. #8
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    Apparemment c'est une question de droits, à toi de voir avec l'admin réseau. (Voir juste lancer ton appli en tant qu'Administrateur)

    EDIT: Non dans ton cas, on est pas en ASP.net, rajoute les groupes ou utilisateurs à qui tu donnes l'accès.

    Donc pour l'ordinateur "client", ton compte, et inversement, tout avec FullAccess pour tester et par la suite tu pourras restreindre.

  9. #9
    Membre éprouvé Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    Mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 066
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Apparemment c'est une question de droits, à toi de voir avec l'admin réseau. (Voir juste lancer ton appli en tant qu'Administrateur)
    L'application tourne déjà en administrateur, et concernant les droits sur le réseau, je peux le paramétrer comme je veux car c'est "nous" (cad mon entreprise) qui le gérons.

    Par contre j'ai un souci au niveau du compte utilisateur, cf edit2 de mon précédent message.

  10. #10
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    Tu es trop rapide pour moi ...

    Voir l'Edit de mon précédent message.

  11. #11
    Membre éprouvé Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    Mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 066
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    Tu es trop rapide pour moi ...
    Ça c'est à force de taper de lignes de code...

    Citation Envoyé par _Ez3kiel Voir le message
    Voir l'Edit de mon précédent message
    OK j'essaie ça et j’édite pour donner le résultat.

    [edit] Avec le bon compte utilisateur et les droits paramétrés, ca marche nickel Merci pour ton aide [/edit]

  12. #12
    Membre Expert Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Par défaut
    Good, bonne continuation.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/09/2010, 18h43
  2. [SQL2K5] Utiliser le manager studio 2008 pour l'intellissense
    Par Monstros Velu dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/06/2009, 20h37
  3. utilisation enterprise manager avec 10GR1.
    Par ylarvor dans le forum Installation
    Réponses: 2
    Dernier message: 01/08/2007, 12h25
  4. mode de compilation pour du Natif utilisant du Managed
    Par breezer911 dans le forum C++/CLI
    Réponses: 1
    Dernier message: 17/04/2007, 07h14
  5. Quand utiliser du Natif, et quand utiliser du Managé
    Par Nico_stras dans le forum C++/CLI
    Réponses: 7
    Dernier message: 11/01/2007, 14h26

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