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

Windows Discussion :

[WMI] accès à un poste distant


Sujet :

Windows

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 46
    Points : 35
    Points
    35
    Par défaut [WMI] accès à un poste distant
    Bonjour,
    j'ai un script en vbscript que m'a passé un collègues et qui permet d'obtenir différentes informations sur un poste pour faire du reporting grâce aux wmi
    ex: logiciels installés, état des disques durs, place disponible sur les disques etc...

    Ce script marche très bien si il est exécuté sur la machine à interroger, et cela peut importe le mode d'interrogation (localhost, nom du pc, @ ip).
    Mais j'obtiens une erreur si je tente d'accéder à un poste distant situé sur le réseau. Je n'arrive pas à trouver pourquoi. Est-ce que quelqu'un pourrait me donner une piste s'il vous plait?

    Voici le bout de code qui est censé créer la connection:
    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
    'Machine à interroger ...
    sComputerName = InputBox("Entrer le nom de l'ordinateur à interroger :",,"localhost")
    
    'Repertoire où est situés le fichier de log de la machine
    Dim objShell
    Set objShell = WScript.CreateObject("WScript.Shell")
    Dim cFolder
    cFolder = objShell.ExpandEnvironmentStrings("%TEMP%") &  "\" 'Const cFolder = "c:\Temp\"
    
    'On supprime le précédent s'il existe 
    'on inscript les informations de départ du script
    Call EcrireDansFichier(cFolder & sComputerName & ".xml", _
    		 "<?xml version=""1.0"" encoding=""ISO-8859-1""?>" & vbCrLf,False&#41; 
    Call EcrireDansFichier&#40;cFolder & sComputerName & ".xml", _
    		 "<Scan Author='frstatech' Computer='" & sComputerName _
    		 & "' date='" & cstr&#40;Now&#40;&#41;&#41; _
    		 & "'>" & vbCrLf,true&#41;
    
    'Chaine de Connexion à la ruche WMI
    sWinMgmt = "winmgmts&#58;&#123;impersonationLevel=impersonate&#125;!//" & sComputerName &""
    
    '-------------------
    'System
    '-------------------
    call DebutInfo&#40;"System",sText,tabul&#41;
    
    'Role
    Dim objRole 'As WMI Object connecté à la ruche Win32_ComputerSystem
    Set objRole = GetObject&#40; sWinMgmt &#41;.InstancesOf&#40;"Win32_ComputerSystem"&#41;
    L'erreur se produit à la dernière ligne que j'ai cité, au niveau du getObject.

    Est-ce que cela ne vient pas d'un problème de droit d'accès au poste? Si c'était le cas, il suffirait de fournir un mot de passe et un login mais je ne sais pas comment.

    Est-ce que quelqu'un pourrait m'aider là-dessus? Merci.

    Je précise que je ne connais pas grand chose en vbscript!
    Merci

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Cherche ici

    Sinon qq exemples

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 46
    Points : 35
    Points
    35
    Par défaut
    Tiens, je pensais avoir dit merci!
    en tout cas merci!

    En fait, l'accès à un poste distant marche bien avec ce que j'ai fait, le problème venait des droits! Si je l'exécute sur mon poste ça foire mais si je l'exécute sur le serveur et que j'indique un nom de poste à analyser ça marche.

    J'ai jeté un coup d'oeil au scripting center et j'ai trouvé quelquechose qui m'intéressait: la ruche win32_networkclient.

    Je me disais donc qu'il suffisait de passer en paramêtre le nom d'un ordi à scanner ou son @ ip. J'ai donc regardé du côté de l'atribut (je sais pas si c'est comme ça qu'on dit! ) name de cette ruche. Mais ça me renvoie un truc du genre "Réseau Microsoft Windows" et l'attribut caption me renvoie "station de travail" alors que j'analyse le serveur!

    Ma question est donc: est-ce que quelqu'un sait comment récupérer toutes les @ ip allouées par le dhcp du serveur afin de pouvoir analyser chaque poste du réseau?

    Merci! 8)

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par bartmarley
    Tiens, je pensais avoir dit merci!
    en tout cas merci!
    D'ou la présence du tag Résolu ...
    Citation Envoyé par bartmarley
    est-ce que quelqu'un sait comment récupérer toutes les @ ip allouées par le dhcp du serveur afin de pouvoir analyser chaque poste du réseau?
    Peut être via Active Directory :
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adschema/adschema/c_dhcpclass.asp

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 46
    Points : 35
    Points
    35
    Par défaut
    bon j'ai trouvé un moyen pour récupérer un poste par son nom réseau avec les wmi!
    Merci pour ton aide!

  6. #6
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Quel est-il ? (pour en faire profiter tout le monde)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 46
    Points : 35
    Points
    35
    Par défaut
    Voici le script que j'ai trouvé et qui permet de lister tous les noms de pc d'un réseau. Je précise qu'il n'est pas de moi et qu'il est à disposition sur le net, en revanche j'ai oublié le site!

    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
    Dim args, oWinNT, oDomain
    Set Shell = WScript.CreateObject&#40;"WScript.Shell"&#41;
    Set args=Wscript.Arguments
    if args.Count=0 then 
    	Wscript.echo "Nom de domaine &#40;ou WorkGroup&#41; omis"
    	Wscript.quit
    	end if	
    Call TestHost
    
    domain=args&#40;0&#41; 
    Wscript.echo "Liste des machines du domaine " & domain
    set oWinNT=GetObject&#40;"WinNT&#58;//" & domain&#41;
    for each oDomain in oWinNT
    	if  lcase&#40;oDomain.class&#41;="computer" then Wscript.echo oDomain.name
    	next
    En revanche, si quelqu'un pouvait m'expliquer la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set oWinNT=GetObject&#40;"WinNT&#58;//" & domain&#41;
    car je ne comprends pas à quoi correspond le winnt://.

    Voilà

  8. #8
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par bartmarley
    car je ne comprends pas à quoi correspond le winnt://.
    Cette intruction interroge l'annuaire AD, tu trouveras toutes les infos sur MSDN.
    Exemple

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 46
    Points : 35
    Points
    35
    Par défaut
    merci!

  10. #10
    Membre habitué Avatar de ddams
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2002
    Messages : 147
    Points : 148
    Points
    148
    Par défaut
    un outil super simple et super efficace pour tester des classes WMI :

    http://www.microsoft.com/technet/scriptcenter/tools/wmimatic.mspx
    @+ddams

  11. #11
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ddams
    un outil super simple et super efficace pour tester des classes WMI
    Perso je le trouve un peu "juste" mais il a le mérite d'exister

  12. #12
    Membre habitué Avatar de ddams
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2002
    Messages : 147
    Points : 148
    Points
    148
    Par défaut
    ben si tu connais mieux, je suis preneur...
    (bien sur je ne parle pas de logiciels commerciaux du genre SMS ou HP Open-View qui sont hors de prix et adaptés à la gestion de grosses infrastructures réseau)
    @+ddams

  13. #13
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ddams
    ben si tu connais mieux, je suis preneur...
    Quand je dis qu'il est "juste", j'entend par là que ces possibilités d'interrogation du référentiel sont trés basiques voir inexistante.

    En dehors des outils d'interrogation, type WMITools, et vue la richesse des classes je ne vois pas comment ne pas utiliser un L4G pour bénéficier pleinement de cette techno.
    Le langage WQL est aussi un "mieux", il est censé répondre à la pluspart des besoins.

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

Discussions similaires

  1. Requete WMI vers un poste distant lente
    Par nicobox dans le forum VBScript
    Réponses: 1
    Dernier message: 24/09/2010, 16h23
  2. Accès Oracle via Delphi sur un poste distant
    Par francois.cancel dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/09/2007, 08h31
  3. [phpMyAdmin] accès à phpMyAdmin d'un poste distant
    Par Mans91 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 03/07/2007, 10h14
  4. Acces poste distant
    Par Oncle_Pete dans le forum Delphi
    Réponses: 16
    Dernier message: 04/05/2007, 10h19
  5. Réponses: 1
    Dernier message: 31/01/2007, 09h25

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