What are some methods for PHP to communicate with Windows/Active Directory?

One method for PHP to communicate with Windows/Active Directory is by using LDAP (Lightweight Directory Access Protocol) functions. These functions allow PHP to query, add, modify, and delete entries in an LDAP directory, such as Active Directory. By using LDAP functions, PHP can authenticate users, retrieve user information, and perform other directory-related tasks.

// Connect to Active Directory using LDAP
$ldapServer = 'ldap://yourADserver';
$ldapUsername = 'yourUsername';
$ldapPassword = 'yourPassword';

$ldapConn = ldap_connect($ldapServer);
ldap_set_option($ldapConn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_bind($ldapConn, $ldapUsername, $ldapPassword);

// Search for a user in Active Directory
$searchFilter = "(sAMAccountName=username)";
$searchResult = ldap_search($ldapConn, "DC=yourDomain,DC=com", $searchFilter);
$entries = ldap_get_entries($ldapConn, $searchResult);

// Display user information
if ($entries['count'] > 0) {
    echo "Username: " . $entries[0]['sAMAccountName'][0] . "<br>";
    echo "Email: " . $entries[0]['mail'][0] . "<br>";
} else {
    echo "User not found.";
}

// Close LDAP connection
ldap_close($ldapConn);