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