J'essaie d'obtenir le nom complet d'un utilisateur donné leur identifiant "domain \ usarname". J'ai essayé quelques exemples différents, mais aucun ne semble fonctionner. J'utilise Visual Basic .Net 2010.VB.NET: Obtenir le nom complet de AD
J'avais initialement trouvé le code suivant dans VBS et porté sur VBA et fonctionnait bien. Si j'essaie d'utiliser le même code dans VB.NET 2010, j'obtiens plusieurs erreurs et le chemin LDAP n'est pas trouvé, même si je le saisis manuellement.
Function FindUser()
On Error GoTo Err
Dim objRoot As Variant
Dim LDAPdomainName As String
Dim UserName As String
Dim UserDomain As String
Dim cn As Variant
Dim cmd As Variant
Dim rs As Variant
UserName = VBA.Environ("UserName") ' Gets Current User
UserDomain = VBA.Environ("UserDomain") 'Gets Current User's Domain
Set objRoot = GetObject("LDAP://RootDSE")
Domain= objRoot.Get("defaultNamingContext")
Set cn = CreateObject("ADODB.Connection")
Set cmd = CreateObject("ADODB.Command")
Set rs = CreateObject("ADODB.Recordset")
cn.Open "Provider=ADsDSOObject;"
cmd.activeconnection = cn
'cmd.commandtext = "SELECT ADsPath FROM 'LDAP://" & Domain & "' WHERE sAMAccountName = '" & UserName & "'"
'To see all attributes names available, connect with Active Directory Explorer and add to Select.
cmd.commandtext = "SELECT cn, mail FROM 'LDAP://" & Domain & "' WHERE sAMAccountName = '" & UserName & "'"
Set rs = cmd.Execute
Do Until rs.EOF
Debug.Print rs("cn") & " E-mail: " & rs("mail")
rs.MoveNext
Loop
Exit_Err:
If Not rs Is Nothing Then rs.Close
If Not cn Is Nothing Then cn.Close
Set rs = Nothing
Set cmd = Nothing
Set cn = Nothing
Exit Function
Err:
If Err <> 0 Then
MsgBox "Error connecting to Active Directory Database: " & Err.Description
Else
If Not rs.BOF And Not rs.EOF Then
rs.MoveFirst
MsgBox rs(0)
Else
MsgBox "Not Found"
End If
End If
Resume Exit_Err
End Function
qu'avez-vous essayé jusqu'à maintenant? Vous devriez ajouter du code que vous avez testé jusqu'à présent, donc nous ne proposons pas quelque chose que vous avez déjà exploré. – Matthieu
Eh bien, ce qu'il a essayé n'a pas fonctionné, donc tout ce qui fonctionne est une proposition valable. – Yatrix