bernhardjo
Messages postés31Date d'inscriptionlundi 13 février 2006StatutMembreDernière intervention11 juin 2008
-
17 sept. 2007 à 09:48
bernhardjo
Messages postés31Date d'inscriptionlundi 13 février 2006StatutMembreDernière intervention11 juin 2008
-
17 sept. 2007 à 14:53
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.
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
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 17 sept. 2007 à 13:13
Bonjour à tous,
1) Les 2 méthodes ci-dessous renvoient le nom de l'utilisateur:
Set WshNetwork = WScript.CreateObject("WScript.Network")
WScript.Echo "Nom utilisateur = " & WshNetwork.UserName
Set WshNetWork = Nothing
' ou
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" _
& strComputer & "\root\cimv2")
For Each objComputer in objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
'séparation nom de domaine et nom d'utilisateur
arrUser = Split(objComputer.UserName,"")
Next
WScript.Echo "Nom utilisateur=" & arruser(1)
Set objWMIService = Nothing
2) Faux, d'après moi. Quoique l'on peut interdire l'exécute d'un vbs par un utilisateur lambda.
D'autre part, ce n'est pas à l'utilisateur de se signer. Voir Active Directory (ADSI, wbem, wmi, wsh)
3) Un de mes gros defau(l)ts.
4) Voir MapNetworkDrive de l'objet NetWork en attendant plus de précisions.
Pour l'adresse IP, en réseau d'entreprise:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" _
& strComputer & "\root\cimv2")
For Each objItem in objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each strAddress in objItem.IPAddress
WScript.Echo strAddress
Next
Next