OVH Cloud OVH Cloud

Reconnaissance utilisateur ou pc autre que "Application.UserName"

4 réponses
Avatar
Franck
Bonjours à tous.

J'ai créé une appli VBA que je devrais installer sur une dizaine de PC.
J'ai définis une protection par mot de passe, mais je voudrais que seul
les PC autorisés puissent l'utiliser. Je voudrais simplement
utilisé une fonction de reconnaissance autre que "Application.UserName"
puisque celle ci me renvoi simplement le nom de la société pour chaque PC.

Existe-il une ou des fonctions VBA pour récupérer des infos spécifiques à
chaque PC ?
ex : nom d'utilisateur (à l'ouverture de session) ou identité du PC ou
autres...
Et comment les utiliser ?
La macro récupèrera ces infos et les comparera à la liste d'autorisation que
j'ai créé.

Merci d'avance pour votre aide.

Franck.

4 réponses

Avatar
E KERGRESSE
Salut Franck,

Une piste, peut-être là :

http://perso.wanadoo.fr/frederic.sigonneau/code/Excel/NomReseauDuPC.txt
http://perso.wanadoo.fr/frederic.sigonneau/code/Excel/NomUserPC.txt
http://perso.wanadoo.fr/frederic.sigonneau/code/Excel/LogInNetUserName.txt


Cordialement.

"Franck" a écrit dans le message de news:
c5n7sh$lfq$
Bonjours à tous.

J'ai créé une appli VBA que je devrais installer sur une dizaine de PC.
J'ai définis une protection par mot de passe, mais je voudrais que seul
les PC autorisés puissent l'utiliser. Je voudrais simplement
utilisé une fonction de reconnaissance autre que "Application.UserName"
puisque celle ci me renvoi simplement le nom de la société pour chaque PC.

Existe-il une ou des fonctions VBA pour récupérer des infos spécifiques à
chaque PC ?
ex : nom d'utilisateur (à l'ouverture de session) ou identité du PC ou
autres...
Et comment les utiliser ?
La macro récupèrera ces infos et les comparera à la liste d'autorisation
que

j'ai créé.

Merci d'avance pour votre aide.

Franck.





Avatar
Frédéric Sigonneau
Bonjour,

Deux autres approches possibles (à partir de Windows 98 et NT 4) :

'====================== Sub test()
MsgBox NumSerieWindows
MsgBox NomDuPC
End Sub

Function NumSerieWindows()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem In colOperatingSystems
NumSerieWindows = objOperatingSystem.serialnumber
Next
End Function

Function NomDuPC()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colComputer = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer In colComputer
NomDuPC = objComputer.Name
Next
End Function
'======================
Infos et téléchargements concernant Windows Management Instrumentation (WMI) à
cette adresse :

http://www.microsoft.com/technet/scriptcenter/scrptfaq.asp

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !

Franck a écrit:
Bonjours à tous.

J'ai créé une appli VBA que je devrais installer sur une dizaine de PC.
J'ai définis une protection par mot de passe, mais je voudrais que seul
les PC autorisés puissent l'utiliser. Je voudrais simplement
utilisé une fonction de reconnaissance autre que "Application.UserName"
puisque celle ci me renvoi simplement le nom de la société pour chaque PC.

Existe-il une ou des fonctions VBA pour récupérer des infos spécifiques à
chaque PC ?
ex : nom d'utilisateur (à l'ouverture de session) ou identité du PC ou
autres...
Et comment les utiliser ?
La macro récupèrera ces infos et les comparera à la liste d'autorisation que
j'ai créé.

Merci d'avance pour votre aide.

Franck.





Avatar
Michel Pierron
Bonjour Franck;
Simplement:
Sub UserInfo()
With CreateObject("WScript.NetWork")
MsgBox "User Name: " & vbTab & .UserName & vbLf _
& "Computer Name: " & vbTab & .ComputerName & vbLf _
& "Domain Name: " & .UserDomain
End With
End Sub

MP

"Franck" a écrit dans le message de
news:c5n7sh$lfq$
Bonjours à tous.

J'ai créé une appli VBA que je devrais installer sur une dizaine de PC.
J'ai définis une protection par mot de passe, mais je voudrais que seul
les PC autorisés puissent l'utiliser. Je voudrais simplement
utilisé une fonction de reconnaissance autre que "Application.UserName"
puisque celle ci me renvoi simplement le nom de la société pour chaque PC.

Existe-il une ou des fonctions VBA pour récupérer des infos spécifiques à
chaque PC ?
ex : nom d'utilisateur (à l'ouverture de session) ou identité du PC ou
autres...
Et comment les utiliser ?
La macro récupèrera ces infos et les comparera à la liste d'autorisation que
j'ai créé.

Merci d'avance pour votre aide.

Franck.





Avatar
Franck
Merci pour vos réponses, je testerai tout ça lundi au pro.

Franck.