Groupe de travail

i386 Messages postés 15 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 13 janvier 2006 - 12 janv. 2006 à 21:14
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 13 janv. 2006 à 12:29
Bonsoir,

j'aimerais dans un module récupérer le nom du "groupe de travail" de l'ordinateur.
y a t il un code comme pour récupérer le nom du pc :
Nom_PC = eviron ("username")

Merci pour vos futurs réponses

10 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
12 janv. 2006 à 22:35
Va faire un petit tour dans l'API-Guide, tu trouvera entre autre cet exemple :

Private Declare Function GetEnvironmentVariable Lib "kernel32" Alias "GetEnvironmentVariableA" (ByVal lpName As String, ByVal lpBuffer As String, ByVal nSize As Long) As Long

Function GetEnvironmentVar(sName As String) As String
GetEnvironmentVar = String(255, 0)
GetEnvironmentVariable sName, GetEnvironmentVar, Len(GetEnvironmentVar)
If InStr(1, GetEnvironmentVar, Chr$(0)) > 0 Then GetEnvironmentVar = Left$(GetEnvironmentVar, InStr(1, GetEnvironmentVar, Chr$(0)) - 1)
GetEnvironmentVar = sName + ": " + GetEnvironmentVar
End Function

Private Sub Form_Load()
'KPD-Team 2000
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Me.AutoRedraw = True
Me.Print GetEnvironmentVar("USERNAME")
Me.Print GetEnvironmentVar("USERDOMAIN")
Me.Print GetEnvironmentVar("PROCESSOR_IDENTIFIER")
Me.Print GetEnvironmentVar("NUMBER_OF_PROCESSORS")
Me.Print GetEnvironmentVar("OS")
End Sub

<hr size="2" width="100%">
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
12 janv. 2006 à 23:11
ou plus directement:









MsgBox Environ$("USERNAME")

MsgBox Environ$("USERDOMAIN")

MsgBox Environ$("OS")

MsgBox Environ$("PROCESSOR_IDENTIFIER")


Daniel
0
i386 Messages postés 15 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 13 janvier 2006
12 janv. 2006 à 23:28
Merci Casy et Gobillot

Pour un newbies comme moi, je me suis servi de la solution de Gobillot.
Jsute deux choses. J'ai la même chose avec environ("computername") et environ("userdomain"). Est ce normal? (je pense ...)
Sinon pourquoi mais tu "$" entre environ et les () ??

Merci pour vos réponses !!!

ps : je me mettrais à la solution de Casy quand j'aurais vu les API
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
12 janv. 2006 à 23:35
salut,

Gobillot -> Merci, je ne connaissais pas. à garder de côté ;)

i386 -> pour informer/retourner au format String

PCPT [AFCK]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
12 janv. 2006 à 23:39
Sur les systèmes NT (Windows NT, Windows 2000, Windows XP et suivants), il est possible d'obtenir différentes infos
sur votre configuration grâce à la fonction VBA Environ$()


(le dollar c'est pour indiquer que c'est une chaîne)





USERNAME
,
Nom de l'utilisateur ayant ouvert la session Windows.,

----

USERDOMAIN
,
Nom du domaine auquel appartient l'utilisateur.,

----

USERPROFILE
,
Chemin
pointant vers le dossier où est stocké le profil (les réglages divers
comme le fond d'écran, les icônes, les paramètres de logiciels) de
l'utilisateur.,

----
ALLUSERSPROFILE
,
Chemin pointant vers le dossier "Documents partagés", sous Windows XP.,

----

APPDATA
,
Chemin pointant vers le dossier "Application" de l'utilisateur.
Sous Windows XP, il s'agit d'un dossier nommé
Application Data

résidant le dossier profil de l'utilisateur. C'est dans ce dossier que
sont stockés les réglages de vos logiciels (pour un utilisateur donné,
donc).,

----

COMPUTERNAME
,
Nom de l'ordinateur.,

----

HOMEDRIVE
,
Nom du disque où se trouve le dossier personnel de l'utilisateur.,

----

HOMEPATH
,
Chemin - sans le nom du disque (
HOMEDRIVE
) pointant vers le dossier personnel de l'utilisateur.,

----

LOGONSERVER
,
Serveur ayant identifié l'utilisateur lors de l'ouverture de la session. Il peut s'agir de la machine elle-même.,

----

OS
,
Nom du système d'exploitation.,

----

PATH
,
Différents chemins définis par défaut.,

----

PATHEXT
,
Différentes extensions prises en compte par le système.,

----

SYSTEMDRIVE
,
Nom du disque où se trouve le système d'exploitation.
Exemple :
C:
,

----

SYSTEMROOT
,
Chemin pointant vers le dossier contenant le système d'exploitation.
Exemple :
C:\WINDOWS
,

----

TEMP
,
Nom du dossier temporaire de l'utilisateur.,

----

TMP
,
Variante du précédent.,

----

NUMBER_OF_PROCESSORS
,
Nombre de micro-processeurs sur la machine.,

----

PROCESSOR_ARCHITECTURE
,
Type d'architecture du processeur.
Exemple :
x86
pour les processeurs Intel.,

----

PROCESSOR_IDENTIFIER
,
Identifiant plus détaillé du processeur.,

----

PROCESSOR_LEVEL
,
Niveau du processeur.,

----

PROCESSOR_REVISION
,
Numéro de révision du processeur.


Daniel
0
i386 Messages postés 15 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 13 janvier 2006
12 janv. 2006 à 23:49
MERCI GOBILLOT !!!

C'est nickel, j'avais pas réussi à trouver toutes ces infos sur vbfrance ou le web. C'est cool !!!

Merci encore

PS : juste une précision et pour le groupe de travail ? car normalement avec ce que tu dis ca devrait etre userdomain ? mais ca me donne pas la bonne réponse !
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
13 janv. 2006 à 00:39
même en utilisant une autre méthode

j'obtiens toujours la même chose:





Dim WshNetwork As Object



Set WshNetwork = CreateObject("WScript.Network")



MsgBox "Domain Name: " & WshNetwork.UserDomain



Dim WshNetwork As Object



Set WshNetwork = CreateObject("WScript.Network")



MsgBox "Domain Name: " & WshNetwork.UserDomain


Daniel
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
13 janv. 2006 à 10:14
Si ton ordinateur n'est pas dans un domaine NT/2k/2k3, donc dans un workgroup, le nom de domaine est son nom d'ordinateur ...

CR
0
i386 Messages postés 15 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 13 janvier 2006
13 janv. 2006 à 11:12
excusez moi, mais je perssite ...

Chez moi, j'ai un réseau wifi avec 3 ordinateurs sous xp pro (2PC ) et un xp familliale. Donc j'ai bien mis en place un groupe de travail (style : WORKGROUP, MSHOME) mais quand j'execute mon petit programme sur les différents PC, pour USERDOMAIN j'ai la même réponse que pour COMPUTERNAME.
Est ce normal et je n'ai rien compris ?

Merci de m'aider encore à ce sujet !

i386
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
13 janv. 2006 à 12:29
Oui !! C'est normal !! Si un pc ne fait pas parti d'un domaine NT, 2k ou 2k3 mais simplement d'un workgroup, la variable UserDomain vaut forcément le nom de ton PC, car tu te connectes avec un compte local à ta machine (fatal, puisque tu ne peux pas créer des comptes de domaine car tu n'as pas de controleur de domaine) donc le userdomain, c'est le nom de ta machine.
Pour avoir le nom de ton workgroup, je penses qu'il faudrait aller voir dans les parametres de configuration réseau (via API GetNetworkAdaptersInfo() il me semble)

CR
0
Rejoignez-nous