FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Commentaire et évaluation d'un script de récupartion de nom et d'ip
 

Commentaire et évaluation d'un script de récupartion de nom et d'ip

1 utilisateur anonyme et 139 utilisateurs inconnus
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Commentaire et évaluation d'un script de récupartion de nom et d'ip
 
Plus d'informations

Salut,
 
Voici ci-dessous un script que j'ai réalisé.
Je vous propose de l'évaluer. De me dire quelle serait les éventuelles amélioration, si les commentaires sont appropriés, si l'on peut en rajouter, en enlever. D'avance merci de votre âme correctrice.
 

Code :
  1. nomPC = "."
  2. 'Le moniker "winmgmts:" est utilisé lors de la connexion à WMI , il localise un espace de noms, une classe ou une instance
  3. ' dans le but de simplifier la récupération des objets WMI, Ainsi nous avons pas besoins de déclarer nos variables
  4. Set objetSysteme = GetObject("winmgmts:" _
  5. & "{impersonationLevel=impersonate}!\\" _
  6. & nomPC & "\root\cimv2" )
  7. 'Récupération d'une collection d'adresse IP'
  8. Set CollectionAdresseIP = objetSysteme.ExecQuery _
  9.      ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True" )
  10. 'Récupération du nom de domaine et du nom d'utilisateur après avoir parcourus la collection'
  11. Set CollectionNomDomaine = objetSysteme.ExecQuery _
  12.     ("Select * from Win32_ComputerSystem" )
  13.   For Each objetNomDomaine in CollectionNomDomaine
  14.    
  15.     'séparation nom de domaine et nom d'utilisateur'
  16.     SeparationNom = Split(objetNomDomaine.UserName,"\" )
  17.     affichage = affichage & "" & SeparationNom(1) & ", "
  18.     NomUtilisateur = " " & SeparationNom(1)
  19. Next
  20. 'Parcours  de la collection AdresseIP et ajout dans la variable d'affichage de toute adresse Ip trouvée'
  21. For Each objetIP in CollectionAdresseIP
  22.     For Each AdresseIP in objetIP.IPAddress
  23.         affichage = affichage & AdresseIP   & " , "   
  24.     Next
  25. Next
  26. 'Choix du chemin de destination du script'
  27. Destination = "\\PC-DE-NASBE\Users\" &NomUtilisateur & " .txt"
  28. 'objet FileSystemObject (FSO) permet de manipuler le système de fichiers de Windows.
  29. 'l' utilisation du modèle d'objet FileSystemObject s'effectue en créant une instance de l'objet Scripting.FileSystemObject
  30. Set objetFSO = Createobject("Scripting.FileSystemObject" )
  31. 'Ouverture du fichier destination en écriture'
  32. Set objetTexte = objetFso.OpenTextFile(Destination, 2, True) 
  33. 'Ecriture dans le fichier'
  34. objetTexte.WriteLine affichage
  35. 'Fermeture de l'objet'
  36. objetTexte.Close
  37. 'Destruction du fichier de concaténation'
  38. Set objetFSO = CreateObject("Scripting.FileSystemObject" )
  39. objetFSO.DeleteFile "\\PC-DE-NASBE\Users\adressageIPreseau.txt",True
  40. 'Affectation des variables RepertoireAnalyse et Destination'
  41. RepertoireAnalyse = "\\PC-DE-NASBE\Users\"
  42. Destination = "\\PC-DE-NASBE\Users\adressageIPreseau.txt"
  43. 'Réaffectation de l'espace de stockage, le tableau est dès lors dynamique'
  44. ReDim TableauFichier(0)
  45. 'Appel des méthodes de traitement et d'écriture '
  46. Call TraitementFichier(RepertoireAnalyse, TableauFichier)
  47. Call EcritureFichier(TableauFichier)
  48. 'Traitement de la fonction qui permet de concaténer tout les fichier texte du répertoire partagé'
  49. Function TraitementFichier(RepertoireAnalyse, TableauFichier)
  50. 'Vérification d'existence de fichier'
  51. For Each Fichier in objetFso.GetFolder(RepertoireAnalyse).Files
  52.     'selection des fichiers ayant l'extension txt, LCase permet de convertir une chaîne en lettre minuscule'
  53.     'boucle pour ajouter un les lignes de texte des fichiers dans un tableau'
  54.     If LCase(objetFso.GetExtensionName(Fichier.Name)) = "txt" Then
  55.        Set objetTexteTemporaire = objetFso.OpenTextFile(Fichier.Path, 1)
  56.        Do While Not objetTexteTemporaire.AtEndOfStream
  57.           ReDim Preserve TableauFichier(UBound(TableauFichier) + 1)
  58.           TableauFichier(UBound(TableauFichier)) = objetTexteTemporaire.ReadLine
  59.        Loop
  60.        'Fermeture de l'objet'
  61.        objetTexteTemporaire.Close
  62.     End If
  63. Next
  64. Set objetTexteTemporaire = Nothing
  65. End Function
  66. 'Traitement de la fonction qui permet l'écriture dans un fichier'
  67. Function EcritureFichier(TableauFichier)
  68. 'Ouverture du fichier'
  69. Set objetFichierTexte = objetFso.OpenTextFile(Destination, 2, True)
  70. 'Parcours du tableau et écriture dans le fichier texte'
  71. For i = 1 to Ubound(TableauFichier)
  72.     objetFichierTexte.Write TableauFichier(i) &vbcrlf
  73. Next
  74. 'Fermeture de l'objet'
  75. objetFichierTexte.Close
  76. Set objetFichierTexte = Nothing
  77. End Function


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Commentaire et évaluation d'un script de récupartion de nom et d'ip
 

Annonces Google
Publicité
Les ressources relatives