Ana Borrego Toledo

connexió client windows

1. Que es la connexio d’un client al LDAP?

Connectar un client Windows al servidor LDAP permet que la maquina client pugui consultar el directori
corporatiu per obtenir informacio d’usuaris i grups. Aixo es fa instal·lant eines com ldap-utils que
permeten fer consultes directes al servidor LDAP amb el comando ldapsearch.
Amb la connexio establerta, el client pot verificar que els usuaris del directori LDAP existeixen i obtenir les
seves dades (nom, UID, grup, directori home, etc.).

Pas 1 — Configuració de xarxa i visibilitat

S’ha comprovat que el client Windows té la IP 192.168.0.5 i el servidor Debian la 192.168.0.156. S’ha verificat la connectivitat bàsica mitjançant un ping.

Pas 2 — Resolució de noms local

Per evitar errors de connexió, s’ha editat el fitxer de hosts de Windows (C:\Windows\System32\drivers\etc\hosts) afegint la línia: 192.168.0.156 equipo2.es

Pas 3 — Prova de connexió al port LDAP

S’ha utilitzat PowerShell per confirmar que el port 389 del servidor està obert: Test-NetConnection -ComputerName 192.168.0.156 -Port 389 Resultat: TcpTestSucceeded : True.

Test-NetConnection -ComputerName 192.168.0.156 -Port 389

Pas 3 — Execució de la prova de connexió

S’ha programat un script en PowerShell utilitzant la classe System.DirectoryServices.Protocols.LdapConnection.

S’utilitza PowerShell per carregar les llibreries de protocols de directori de .NET. 

Credencials: cn=admin,dc=equipo2,dc=es / Admin123.

# 1. Configuració de dades
$LdapServer = "192.168.0.156"
$UserDN = "cn=admin,dc=equipo2,dc=es"
$Password = "Admin123"

# 2. Carregar llibreria .NET
Add-Type -AssemblyName System.DirectoryServices.Protocols

try {
    # 3. Establir connexió
    $conn = New-Object System.DirectoryServices.Protocols.LdapConnection "${LdapServer}:389"
    $conn.SessionOptions.ProtocolVersion = 3
    $conn.AuthType = [System.DirectoryServices.Protocols.AuthType]::Basic
    
    # 4. Bind (Autenticació)
    $credential = New-Object System.Net.NetworkCredential($UserDN, $Password)
    $conn.Bind($credential)

    Write-Host "`n✅ CONNEXIÓ EXITOSA!" -ForegroundColor Green
    Write-Host "S'ha establert el lligam (bind) amb el servidor Debian.`n" -ForegroundColor Gray
    
    # 5. Prova de lectura: Llistar el contingut de l'arrel
    Write-Host "Cercant objectes a dc=equipo2,dc=es..."
    $request = New-Object System.DirectoryServices.Protocols.SearchRequest("dc=equipo2,dc=es", "(objectClass=*)", "Subtree")
    $response = $conn.SendRequest($request)
    
    Write-Host "S'han trobat $($response.Entries.Count) objectes a la base de dades." -ForegroundColor Cyan
    foreach ($entry in $response.Entries) {
        Write-Host " -> DN: $($entry.DistinguishedName)"
    }

} catch {
    Write-Host "`n❌ ERROR: $($_.Exception.Message)" -ForegroundColor Red
} finally {
    if ($conn) { $conn.Dispose() }
}

Conclusió

La connexió s’ha realitzat correctament. Tot i que Windows 10 no s’ha unit a un “Domini” d’Active Directory en el sentit clàssic (per limitacions de l’entorn), s’ha demostrat la interoperabilitat total entre el sistema operatiu de Microsoft i el servei de directori OpenLDAP de Linux mitjançant protocols estàndard.

S’ha programat un script en PowerShell utilitzant la classe System.DirectoryServices.Protocols.LdapConnection.

Credencials: cn=admin,dc=equipo2,dc=es / Admin123.

en_USEnglish
Ana Borrego Toledo