Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3477 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  recuperation d'IP sur serveur distant, probleme de compteur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

recuperation d'IP sur serveur distant, probleme de compteur

n°1867893
nautico
Posté le 31-03-2009 à 15:28:52  profilanswer
 

Bonjour a tous!!!!
 
Voila, j'ai un script qui me pose un peu de probleme:  
tout d'abord je vais vous expliquer celui ci:
 
D'apres une liste de nom de machine (fichier txt) le script monte un lecteur reseau sur le serveur sous la lettre U.
une fois celuis ci monté je check si un répertoire "sources" existe  
                 -s'il existe copie de fichier dedans
                 -si non creation du repertoire plus copie
une fois cette tache créée j'ai besoin de recuperer la configuration IP (type ipconfig/all) sur ma machine avec le nom de la machine en titre
 
jusqu'ici tout va bien....
Mais la j'ai un probleme les machines peuvent avoir X adresse IP, X adresse MAC, X suffixe DNS.....  
voici mon code :
 
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2" )
Set IPConfigSet = objWMIService.ExecQuery _
    ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True" )
 
Set result = objFSO.CreateTextFile(Computer&".txt",8)
 
 
On error resume next
 
 
If Err.Number<>0 Then
 result.write(" ---- non accessible ----" )
Else
i = 1
msgbox i
        for each IPConfig in IPConfigSet
                If Not IsNull(IPConfig.IPAddress) Then
                        For i=LBound(IPConfig.IPAddress) _
                 to UBound(IPConfig.IPAddress)
                result.write " Configuration réseau de l'ordinateur " & ComputerName & vbcrlf & vbcrlf
  result.write  " Nom Machine  " & vbtab & " : " & IPConfig.DNSHostName & vbcrlf & vbcrlf
   
  result.write  " Carte        " & vbtab & " : " & IPConfig.Description(i) & vbcrlf
   
                result.write  " adresse MAC  " & vbtab & " : " & IPConfig.MACAddress(i) & vbcrlf
  result.write  " adresse IP   " & vbtab & " : " & IPConfig.IPAddress(i) & vbcrlf
  result.write  " Masque       " & vbtab & " : " & IPConfig.IPSubnet(i) & vbcrlf
  result.write  " passerelle   " & vbtab & " : " & IPConfig.DefaultIPGateway(i) & vbcrlf
   
  result.write  " Serveur DNS  " & vbtab & " : " & IPConfig.DNSServerSearchOrder(i) & vbcrlf
                result.write  "              " & vbtab & vbtab & " : " & IPConfig.DNSServerSearchOrder(i) & vbcrlf
                result.write  "              " & vbtab & vbtab & " : " & IPConfig.DNSServerSearchOrder(i) & vbcrlf
  result.write  " Suffixe DNS  " & vbtab & vbtab & " : " & IPConfig.DNSDomainSuffixSearchOrder (i) & vbcrlf
  'result.write  "              " & vbtab & vbtab & " : " & IPConfig.DNSDomainSuffixSearchOrder (2) & vbcrlf
  'result.write  "              " & vbtab & vbtab & " : " & IPConfig.DNSDomainSuffixSearchOrder (3) & vbcrlf
  result.write  " Serveur WINS " & vbtab & " : " & IPConfig.WINSPrimaryServer(1) & vbcrlf
  result.write  "              " & vbtab & " : " & IPConfig.WINSSecondaryServer(1) & vbcrlf & vbcrlf
  result.write  "Configuration "
                i = i + 1
                msgbox i            
                        Next
                end IF
        next
 
End If
 
result.close
 
''''''''''''''''''''''''''
wend

 
Et la 2erreurs:
1 mon script plante, il n'y a que jusqu'a l'adress mac dans mon fichier text
j'ai bien l'impression que ce n'est pas la bonne methode pour récupérer les infos IP(multiples)
 
Merci de votre aide!!!!!
 
Ps: je suis un VRAI debutant en scripting


Message édité par nautico le 01-04-2009 à 12:26:56
mood
Publicité
Posté le 31-03-2009 à 15:28:52  profilanswer
 

n°1867898
86vomito33
Posté le 31-03-2009 à 15:42:35  profilanswer
 

a quoi correspond "computer" ? une variable ?
si c'est le cas elle a pas l'air d'etre definie

n°1867902
nautico
Posté le 31-03-2009 à 15:52:38  profilanswer
 

c'est bien une variable definie au debut de mon script
 
voici le code complet pour avoir tout ;) :
 
 
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim objFSO,MyFile, f, ConfIP
Dim i
 
 
Set objFSO= CreateObject("Scripting.FileSystemObject" )
Set objFile = objFSO.OpenTextFile("liste_machines.txt" )
Set logobjFile = objFSO.CreateTextFile("rapport.txt",2)
Set Left_serv = objFSO.CreateTextFile("machines_non_connectées.txt",2)
Set WshNetwork = WScript.CreateObject("WScript.Network" )
Set WshShell = CreateObject("Wscript.Shell" )
 
logobjFile.Write "********** DEBUT DE TRAITEMENT ************"&vbCrLf&vbCrLf
 
msgbox "Le traitement va être lancé. Avant de cliquer sur OK assurez vous que vous n'avez pas de lecteur sous la lettre T (utilisée par le script)"&vbCrLf&vbCrLf&"Quand vous cliquerez OK le traitement démarrera. Il peut durer un certain temps (cela depend du fichier liste_machines)."&vbCrLf&"quand le traitement sera terminé, une boite de dialogue viendra vous avertir pour faire un bilan de l'action!"&vbCrLf&vbCrLf&"^_^",,"A vos marque, prêts..."
 
 
'debut du traitement
'Do While (objFile.Read(1)="\" )
while Not objFile.AtEndOfStream
  Computer=objFile.ReadLine
  On error resume next
 'montage du lecteur reseau
 WshNetwork.MapNetworkDrive "u:", "\\"&Computer&"\D$"
 if (Err.Number)<>0 Then
 'ecriture dans le fichier de log rapport.txt en cas d'impossibilité de connexion
  logobjFile.Write Date&" - "&Time&" : "&"\"&Computer&" : erreur de connexion! fichier ajouté a la liste dans le fichier machines_non_connectes"&vbCrLf
  Left_serv.Write "\"&Computer&vbCrLf
   Err.Clear   ' Efface l'erreur.
  else
 
'check de l'existence du rep "sources"'
   'copie des dossier de migrations'
   If (objFSO.FolderExists("u:\sources" )) Then
       objFSO.CopyFolder "\\uc227984\migration\MIGHDS","u:/sources/MIGHDS"
      objFSO.CopyFolder "\\uc227984\migration\robocopy","u:/sources/robocopy"
      objFSO.CopyFolder "\\uc227984\migration\confIP","u:/sources/confIP"
     'ecriture dans le fichier log rapport.txt'
    logobjFile.Write Date&" - "&Time&" : "&"\"&Computer&" : copie des folders"&vbCrLf
   else
     'creation du repertoire copie des dossiers'
      objFSO.CreateFolder("u:\sources" )
      objFSO.CopyFolder "\\uc227984\migration\MIGHDS","u:/sources/MIGHDS"
      objFSO.CopyFolder "\\uc227984\migration\robocopy","u:/sources/robocopy"
      objFSO.CopyFolder "\\uc227984\migration\confIP","u:/sources/confIP"
 
                  logobjFile.Write Date&" - "&Time&" : "&"\"&Computer&" : creation et copie des folders"&vbCrLf
   
 
         End If
 
  End if
 
 'deconnexion du lecteur reseau
 WshNetwork.RemoveNetworkDrive "u:"
 
        'recuperation des configuration des serveur de la liste
'''''''''''''''''''''''    
 
 
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2" )
Set IPConfigSet = objWMIService.ExecQuery _
    ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True" )
 
Set result = objFSO.CreateTextFile(Computer&".txt",8)
 
 
On error resume next
 
 
If Err.Number<>0 Then
 result.write(" ---- non accessible ----" )
Else
i = 1
msgbox i
        for each IPConfig in IPConfigSet
                If Not IsNull(IPConfig.IPAddress) Then
                        For i=LBound(IPConfig.IPAddress) _
                 to UBound(IPConfig.IPAddress)
                result.write " Configuration réseau de l'ordinateur " & ComputerName & vbcrlf & vbcrlf
  result.write  " Nom Machine  " & vbtab & " : " & IPConfig.DNSHostName & vbcrlf & vbcrlf
   
  result.write  " Carte        " & vbtab & " : " & IPConfig.Description(1) & vbcrlf
   
                result.write  " adresse MAC  " & vbtab & " : " & IPConfig.MACAddress(1) & vbcrlf
  result.write  " adresse IP   " & vbtab & " : " & IPConfig.IPAddress(1) & vbcrlf
  result.write  " Masque       " & vbtab & " : " & IPConfig.IPSubnet(1) & vbcrlf
  result.write  " passerelle   " & vbtab & " : " & IPConfig.DefaultIPGateway(1) & vbcrlf
   
                'result.write  " Serveur DHCP " & vbtab & " : " & IPConfig.DHCPServer & vbcrlf & vbcrlf
  result.write  " Serveur DNS  " & vbtab & " : " & IPConfig.DNSServerSearchOrder(1) & vbcrlf
                result.write  "              " & vbtab & vbtab & " : " & IPConfig.DNSServerSearchOrder(1) & vbcrlf
                result.write  "              " & vbtab & vbtab & " : " & IPConfig.DNSServerSearchOrder(2) & vbcrlf
  result.write  " Suffixe DNS  " & vbtab & vbtab & " : " & IPConfig.DNSDomainSuffixSearchOrder (1) & vbcrlf
  result.write  "              " & vbtab & vbtab & " : " & IPConfig.DNSDomainSuffixSearchOrder (2) & vbcrlf
  result.write  "              " & vbtab & vbtab & " : " & IPConfig.DNSDomainSuffixSearchOrder (3) & vbcrlf
  result.write  " Serveur WINS " & vbtab & " : " & IPConfig.WINSPrimaryServer(1) & vbcrlf
  result.write  "              " & vbtab & " : " & IPConfig.WINSSecondaryServer(1) & vbcrlf & vbcrlf
  result.write  "Configuration "
                i = i + 1
                msgbox i            
                        Next
                end IF
        next
 
End If
 
result.close
 
''''''''''''''''''''''''''
wend
logobjFile.close
objFile.close
Left_serv.close
Msgbox "Fini! deux fichiers ont été générés : rapport.txt et liste_machines_non_connectées.txt"


Message édité par nautico le 31-03-2009 à 16:02:26

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  recuperation d'IP sur serveur distant, probleme de compteur

 

Sujets relatifs
problème de recordset ou de querydefProbleme de formulaires PHP
Probleme de connexion JavaMySQL - connection PHP/MySQL - problème de socket ?
Problème d'écriture et de répertoiresprobleme avec une procedure
Probleme transformation xsltprobleme enserer deux clip dans un clip parent
petit probleme de communication inter thread[SQL]Problème pour lancer phpmyadmin sous linux KDE
Plus de sujets relatifs à : recuperation d'IP sur serveur distant, probleme de compteur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR