Utilisation de LogonUser en groupe de travail et en nom de domaine
1 réponse
Philippe HALET
Bonjour à tous,
J'essaie de me connecter sous un user déterminé afin d'accéder aux fichiers
se trouvant sur un répertoire d'un autre poste de mon réseau. J'utilise la
fonction LogonUser et ensuite ImpersonateLogedUser, malheureusement je
n'arrive pas à cette dernière. Je suis en workgroup mais l'application doit
fonctionner également avec un domaine.
Il est possible que ce soit les paramètres passé à LogonUser qui ne sont pas
corrects (le domaine en particulier). Après LogonUser, Err.LastDllError me
retourne une erreur 1326 dont je ne connaît pas la signification.
Voici ma fonction de logon:
Private Function LogonInternal(ByVal strAdminUser As String, ByVal _
strAdminPassword As String, _
ByVal strAdminDomain As String) As Boolean
Dim lngTokenHandle As Long, lngLogonType As Long, lngLogonProvider As
Long
Dim lResult As Long
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe HALET
Après moultes recherches, je pense que la raison est qu'en environnement workgroup les utilisateurs particuliers à une machine ne sont pas disponibles pour l'ensemble du workgroup. La solution à cela est, me semble-t-il, de définir sur tous les postes le user permettant d'avoir accès aux fichiers et répertoires du poste auquel on désire se connecter (personnellement je les définit en tant que "Remote Desktop User" afin qu'ils n'apparaissent pas dans les utilisateurs au démarrage de XP. En environnement "Serveur" (nt, 2000, xp ou 2003) il semble que ce soit le serveur qui centralise cette information et autorise donc le LogonUser. Quelqu'un peut-il valider mon analyse? Merci d'avance,
Philippe "Philippe HALET" wrote in message news:41ff8126$0$533$
Bonjour à tous,
J'essaie de me connecter sous un user déterminé afin d'accéder aux
fichiers
se trouvant sur un répertoire d'un autre poste de mon réseau. J'utilise la fonction LogonUser et ensuite ImpersonateLogedUser, malheureusement je n'arrive pas à cette dernière. Je suis en workgroup mais l'application
doit
fonctionner également avec un domaine.
Il est possible que ce soit les paramètres passé à LogonUser qui ne sont
pas
corrects (le domaine en particulier). Après LogonUser, Err.LastDllError me retourne une erreur 1326 dont je ne connaît pas la signification.
Voici ma fonction de logon:
Private Function LogonInternal(ByVal strAdminUser As String, ByVal _ strAdminPassword As String, _ ByVal strAdminDomain As String) As Boolean Dim lngTokenHandle As Long, lngLogonType As Long, lngLogonProvider As Long Dim lResult As Long
lResult = LogonUser(strAdminUser, "", strAdminPassword, _ lngLogonType, lngLogonProvider, _ lngTokenHandle) If lResult = 0 Then MsgBox "Error during logon as user [" & strAdminUser & "]" & "
with
password [" & strAdminPassword & "]" & " Error code: " & Err.LastDllError Exit Function End If
lResult = ImpersonateLoggedOnUser(lngTokenHandle)
If lResult = 0 Then MsgBox "Unable to become user [" & strAdminUser & "]" Exit Function End If
LogonInternal = True
End Function
et voici un exemple de son appel (le user "Philippe" a bien comme mot de passe "password"):
... LogonInternal "Philippe", "password", "" ...
Merci d'avance pour votre aide,
Philippe
Après moultes recherches, je pense que la raison est qu'en environnement
workgroup les utilisateurs particuliers à une machine ne sont pas
disponibles pour l'ensemble du workgroup. La solution à cela est, me
semble-t-il, de définir sur tous les postes le user permettant d'avoir accès
aux fichiers et répertoires du poste auquel on désire se connecter
(personnellement je les définit en tant que "Remote Desktop User" afin
qu'ils n'apparaissent pas dans les utilisateurs au démarrage de XP. En
environnement "Serveur" (nt, 2000, xp ou 2003) il semble que ce soit le
serveur qui centralise cette information et autorise donc le LogonUser.
Quelqu'un peut-il valider mon analyse?
Merci d'avance,
Philippe
"Philippe HALET" <p.halet@hdsi.be> wrote in message
news:41ff8126$0$533$ba620e4c@news.skynet.be...
Bonjour à tous,
J'essaie de me connecter sous un user déterminé afin d'accéder aux
fichiers
se trouvant sur un répertoire d'un autre poste de mon réseau. J'utilise la
fonction LogonUser et ensuite ImpersonateLogedUser, malheureusement je
n'arrive pas à cette dernière. Je suis en workgroup mais l'application
doit
fonctionner également avec un domaine.
Il est possible que ce soit les paramètres passé à LogonUser qui ne sont
pas
corrects (le domaine en particulier). Après LogonUser, Err.LastDllError me
retourne une erreur 1326 dont je ne connaît pas la signification.
Voici ma fonction de logon:
Private Function LogonInternal(ByVal strAdminUser As String, ByVal _
strAdminPassword As String, _
ByVal strAdminDomain As String) As Boolean
Dim lngTokenHandle As Long, lngLogonType As Long, lngLogonProvider As
Long
Dim lResult As Long
Après moultes recherches, je pense que la raison est qu'en environnement workgroup les utilisateurs particuliers à une machine ne sont pas disponibles pour l'ensemble du workgroup. La solution à cela est, me semble-t-il, de définir sur tous les postes le user permettant d'avoir accès aux fichiers et répertoires du poste auquel on désire se connecter (personnellement je les définit en tant que "Remote Desktop User" afin qu'ils n'apparaissent pas dans les utilisateurs au démarrage de XP. En environnement "Serveur" (nt, 2000, xp ou 2003) il semble que ce soit le serveur qui centralise cette information et autorise donc le LogonUser. Quelqu'un peut-il valider mon analyse? Merci d'avance,
Philippe "Philippe HALET" wrote in message news:41ff8126$0$533$
Bonjour à tous,
J'essaie de me connecter sous un user déterminé afin d'accéder aux
fichiers
se trouvant sur un répertoire d'un autre poste de mon réseau. J'utilise la fonction LogonUser et ensuite ImpersonateLogedUser, malheureusement je n'arrive pas à cette dernière. Je suis en workgroup mais l'application
doit
fonctionner également avec un domaine.
Il est possible que ce soit les paramètres passé à LogonUser qui ne sont
pas
corrects (le domaine en particulier). Après LogonUser, Err.LastDllError me retourne une erreur 1326 dont je ne connaît pas la signification.
Voici ma fonction de logon:
Private Function LogonInternal(ByVal strAdminUser As String, ByVal _ strAdminPassword As String, _ ByVal strAdminDomain As String) As Boolean Dim lngTokenHandle As Long, lngLogonType As Long, lngLogonProvider As Long Dim lResult As Long