Voilà un petit code qui permet de récupérer l'adresse ip et le nom d'utilisateur est de le placer dans un fichier texte.
Simplement j'aurai voulu apporter des modifications dessus.

1) Comment faire pour simplement récupérer le nom d'utilisateur et non le nom du PC, comme présenté ci-dessous, il récupère les deux.

2) Ce script peut seulement être exécuté en administrateur, comment faire pour que chaque utilisateur puisse l'éxécuter??

3) Si quelqu'un pouvait me le commenter en peu, ca serait cool.

4) Pour terminer il y a une ligne de code " strOutText = WshShell.SpecialFolders("Desktop") & "\AdresseIP.txt" qui va placer sur le bureau un fichier texte du nom de AdresseIP. Ce que j'aimerai faire, c'est éxécuter ce script au démarrage et le placer dans un dossier partagé. Pour que par la suite, je puisse récupérer l'ensemble des utilisateurs et leur adresse ip dans un seul fichier texte. Si quelqu'un aurait une piste, d'avance merci.


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
strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _ 
& strComputer & "\root\cimv2") 
Set colItems = objWMIService.ExecQuery _
     ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
 
Set colComputer = objWMIService.ExecQuery _
    ("Select * from Win32_ComputerSystem") 
  For Each objComputer in colComputer
    msg = msg &  objComputer.UserName & ","
Next
 
 
count = 1
For Each objItem in colItems
    For Each strAddress in objItem.IPAddress
 
		msg = msg &vbCrLf& strAddress   & " , " & count
        count = count +1
 
    Next
Next
 
Set WshShell = WScript.Createobject("WScript.Shell")
strOutText = WshShell.SpecialFolders("Desktop") & "\AdresseIP.txt"
Set objFso = Createobject("Scripting.FileSystemObject")  
Set objTxt = objFso.OpenTextFile(strOutText, 2, True)  
objtxt.WriteLine msg
objtxt.Close
Wscript.Echo msg