OVH Cloud OVH Cloud

Login Windows

13 réponses
Avatar
JMD
Bonjour.

Je souhaite renseigner automatiquement un champ de formulaire avec le login
(nom d'utilisateur de la session Windows). Je n'ai aucune piste pour
récupèrer le login.

Quelqu'un sait ?

Mille mercis à vous.

3 réponses

1 2
Avatar
Dom
"Blaise Cacramp" a écrit dans le message de news:


"Dom" a écrit dans le message de
news:47b1d9f8$0$9811$
Bonsoir Michel_D,

Grâce aux codes récupérés ici ou là, j'arrive à récupérer le nom du Micro

Cordialement,

Dominique.



et bien, pourquoi ne pas nous montrer ton code ?


Voici le code

Cordialement,

Dominique

'---------------------------------------------------------------------------------------
' Projet : Administrateur
' Procedure : Module ==> mdlConnectés
' Date : 30/01/2007
' Auteur : Dolphy http://dolphy35.developpez.com/
' Commentaires : Permet de lire le fichier ldb pour récupérer les pc
connectés
'---------------------------------------------------------------------------------------
'
Option Compare Database
Private Type Un_Connecte
' --nom PC
PC(1 To 32) As Byte
User(1 To 32) As Byte
End Type




Public Function Pc_Connect(strBdd As String)
'---------------------------------------------------------------------------------------
' Procédure : Function ==> Pc_Connect
' Auteur : Dolphy http://dolphy35.developpez.com/
' Commentaires : Lecture fichier ldb de la bdd principale
' Lien vers Faq : http://access.developpez.com/faq/?page=TAAdmin#liste
'---------------------------------------------------------------------------------------
'
On Error GoTo Err_Pc_Connect

'Déclarations des variables
Dim intLDB As Integer, i As Integer
Dim strChemin As String
Dim Nom_PC As String, Nom_Utilisateur As String
Dim utilisateur As Un_Connecte
Dim DB As Database
Dim strTemp As String

'Inhibe les messages d'erreurs
DoCmd.SetWarnings False

'Vide la Tables contenant la liste des pc connectés
DoCmd.RunSQL "DELETE * FROM tblConnectes"

'Change l'extension du chemin par ldb au lieu de mdb
strChemin = Left(strBdd, InStr(1, strBdd, ".")) + "LDB"

'Designe le numéro pour le fichier
intLDB = FreeFile

'Ouvre le fichier ldb
Open strChemin For Binary Access Read Shared As intLDB

'Boucle permettant de lire l'ensemble du fichier ldb
Do While Not EOF(intLDB)

'Chaque enregistrement lu est placé dans la variable utilisateur pour y
être inésrée dans une table.
Get intLDB, , utilisateur
With utilisateur
i = 1
Nom_PC = ""
'nom du PC
While .PC(i) <> 0
Nom_PC = Nom_PC & Chr(.PC(i))
i = i + 1
''''''''''
Wend
i = 1
Nom_Utilisateur = ""
' -- nom de l'utilisateur
While .User(i) <> 0
Nom_Utilisateur = Nom_Utilisateur & Chr(.User(i))
i = i + 1
Wend
End With
'Mon_Log = Nom_PC & " | " & Nom_Utilisateur
' Mon_Log = Nom_PC & "(" & Nom_Utilisateur & ")"
Mon_Log = Nom_PC
Mon_Log2 = Nom_Utilisateur
'Mon_Log2 = fOSUserName()
'MsgBox Mon_Log

If Len(Nom_PC) > 0 Then
DoCmd.RunSQL ("INSERT INTO tblConnectes (connectes,id) VALUES('"
& Mon_Log & "','" & Mon_Log2 & "');")
'DoCmd.RunSQL ("INSERT INTO tblConnectes (id) VALUES('" &
Mon_Log2 & "');")
DoCmd.SetWarnings True
End If

Loop

'''''''''


'Fermeture du fichier ldb
Close intLDB

Exit Function

Err_Pc_Connect:

MsgBox Err.Number & vbCrLf & Err.Description, vbInformation, "Erreur"
Close intLDB


End Function


Avatar
Dom
Bonsoir,

Je reviens à la charge !

Est-il possible depuis un poste de travail donné d'obtenir le UserName
Windows d'autres postes du réseau connectés à la dorsale ? En d'autres
termes, un
code exécuté en local permet-il de récupérer les UserName Windows de postes
de travail distants ?

Exemple :

Mon poste de travail à comme nom unc TOTO. Le user Windows du micro est
admin

Un autre poste de travail à comme nom unc TATA. Son user Windows st user1

Depuis le poste de travail TOTO, est-il possible de récupérer le user
Windows du micro TATA utilisant la dorsale mdb ?

Je pense que non, mais...

Cordialement,

Dominique


"Michel_D" a écrit dans le message de
news:
re

Tel que présenté c'est non, le code utilise la propriété UserName de
l'objet "WScript.Network" et n'a donc rien à voir avec Access même
s'il est exécuté sous Access.


Bonsoir Michel_D,

Je précise la question :

Est-il possible depuis un poste de travail donné d'obtenir le UserName
d'autres postes du réseau connectés à la dorsale ? En d'autres termes, un
code exécuté en local permet-il de récupérer les UserName de postes de
travail distants ?

Cordialement,

Dominique.


"Michel_D" a écrit dans le message
de news: %
Bonjour,

Je comprends pas bien la question !

Cela donne le UserName de la session locale en cours sur la machine ou
le
code s'exécute.


Bonsoir Michel_D,

Depuis une frontale et en tant qu'administrateur, est-ce que ta 2ème
méthode permet d'obtenir le UserName de n'importe quel utilisateur
Windows connecté à la dorsale ?

Grâce aux codes récupérés ici ou là, j'arrive à récupérer le nom du
Micro connecté à la dorsale, mais pas celui de l'utilisateur Windows

Cordialement,

Dominique.

Domi,ique.
"Michel_D" a écrit dans le
message de news: foser6$3pb$
Bonjour,

"JMD" a écrit dans le message de
news:
Bonjour.

Je souhaite renseigner automatiquement un champ de formulaire avec le
login
(nom d'utilisateur de la session Windows). Je n'ai aucune piste pour
récupèrer le login.

Quelqu'un sait ?
1ère méthode :


sLogin = Environ("username")

2ème méthode :

Set oNetwork = CreateObject("WScript.Network")
sLogin = oNetwork.UserName

3ème méthode :

Set oShell = CreateObject("WScript.Shell")
sLogin = oShell.ExpandEnvironmentStrings("%USERNAME%")













Avatar
Michel_D
Bonjour,

Pour faire court, si tu cherche à récupérer le login window de
l'utilisateur qui est connecté à la dorsale le plus simple est
de remplir la condition suivante :
nom d'utilisateur connecté à la base = nom d'utilisateur window
ce qui sous entend qu'il faut utiliser un groupe de travail
spécifique et sinon il faut gérer cette fonctionnalitée via une
table, on peut aussi bien sur mixer les deux approches.


Bonsoir,

Je reviens à la charge !

Est-il possible depuis un poste de travail donné d'obtenir le UserName
Windows d'autres postes du réseau connectés à la dorsale ? En d'autres
termes, un
code exécuté en local permet-il de récupérer les UserName Windows de postes
de travail distants ?

Exemple :

Mon poste de travail à comme nom unc TOTO. Le user Windows du micro est
admin

Un autre poste de travail à comme nom unc TATA. Son user Windows st user1

Depuis le poste de travail TOTO, est-il possible de récupérer le user
Windows du micro TATA utilisant la dorsale mdb ?

Je pense que non, mais...

Cordialement,

Dominique


"Michel_D" a écrit dans le message de
news:
re

Tel que présenté c'est non, le code utilise la propriété UserName de
l'objet "WScript.Network" et n'a donc rien à voir avec Access même
s'il est exécuté sous Access.


Bonsoir Michel_D,

Je précise la question :

Est-il possible depuis un poste de travail donné d'obtenir le UserName
d'autres postes du réseau connectés à la dorsale ? En d'autres termes, un
code exécuté en local permet-il de récupérer les UserName de postes de
travail distants ?

Cordialement,

Dominique.


"Michel_D" a écrit dans le message
de news: %
Bonjour,

Je comprends pas bien la question !

Cela donne le UserName de la session locale en cours sur la machine ou
le
code s'exécute.


Bonsoir Michel_D,

Depuis une frontale et en tant qu'administrateur, est-ce que ta 2ème
méthode permet d'obtenir le UserName de n'importe quel utilisateur
Windows connecté à la dorsale ?

Grâce aux codes récupérés ici ou là, j'arrive à récupérer le nom du
Micro connecté à la dorsale, mais pas celui de l'utilisateur Windows

Cordialement,

Dominique.

Domi,ique.
"Michel_D" a écrit dans le
message de news: foser6$3pb$
Bonjour,

"JMD" a écrit dans le message de
news:
Bonjour.

Je souhaite renseigner automatiquement un champ de formulaire avec le
login
(nom d'utilisateur de la session Windows). Je n'ai aucune piste pour
récupèrer le login.

Quelqu'un sait ?
1ère méthode :


sLogin = Environ("username")

2ème méthode :

Set oNetwork = CreateObject("WScript.Network")
sLogin = oNetwork.UserName

3ème méthode :

Set oShell = CreateObject("WScript.Shell")
sLogin = oShell.ExpandEnvironmentStrings("%USERNAME%")
















1 2