示例#1
0
function FormatLdapValue(&$name, &$value)
{
    $known_binary_fields = array("ciscoecsbuumlocationobjectid", "msexchmailboxsecuritydescriptor", "msexchrecordedname", "sidhistory", "userparameters", "logonhours", "replicationsignature");
    if (preg_match("/(" . implode("|", $known_binary_fields) . ")/i", $name)) {
        return "[Binary Data]";
    }
    if (preg_match("/guid\$/i", $name)) {
        return formatGUID($value[0]);
    }
    if (preg_match("/sid\$/i", $name)) {
        return ConvertBinarySidToSddl($value[0]);
    }
    if (count($value) > 1) {
        return "<ul><li>" . implode("</li><li>", $value) . "</li></ul>";
    }
    return $value[0];
}
function Updateldap_computersTable(&$ldap_results, &$ldap_path_id, &$audit_timestamp)
{
    global $db;
    foreach ($ldap_results as $result) {
        if (is_array($result)) {
            //var_dump($result);
            $guid = formatGUID($result["objectguid"][0]);
            // Create array for "insert" clause of SQL query
            $insert_data = array();
            $insert_data["ldap_computers_guid"] = $guid;
            $insert_data["ldap_computers_cn"] = $result["cn"][0];
            $insert_data["ldap_computers_dn"] = $result["dn"];
            $insert_data["ldap_computers_description"] = ReturnDataOrNull($result["description"][0]);
            $insert_data["ldap_computers_os"] = ReturnDataOrNull($result["operatingsystem"][0]);
            $insert_data["ldap_computers_service_pack"] = ReturnDataOrNull($result["operatingsystemservicepack"][0]);
            $insert_data["ldap_computers_timestamp"] = $audit_timestamp;
            $insert_data["ldap_computers_first_timestamp"] = $audit_timestamp;
            $insert_data["ldap_computers_path_id"] = $ldap_path_id;
            // Create array for "update" clause of SQL query
            $update_data = array();
            $update_data["ldap_computers_cn"] = $result["cn"][0];
            $update_data["ldap_computers_dn"] = $result["dn"];
            $update_data["ldap_computers_description"] = ReturnDataOrNull($result["description"][0]);
            $update_data["ldap_computers_os"] = ReturnDataOrNull($result["operatingsystem"][0]);
            $update_data["ldap_computers_service_pack"] = ReturnDataOrNull($result["operatingsystemservicepack"][0]);
            $update_data["ldap_computers_timestamp"] = $audit_timestamp;
            $update_data["ldap_computers_path_id"] = $ldap_path_id;
            // Create SQL query
            $sql = ConstructSQLInsertQuery("ldap_computers", $insert_data, $update_data);
            DebugEcho($sql);
            $mysqlresult = mysql_query($sql, $db);
            DebugEcho($mysqlresult);
            if ($mysqlresult == FALSE) {
                echo "Error: " . mysql_errno($db) . ": " . mysql_error($db) . "\n";
            }
            DebugEcho("*******************************************************************************");
        }
    }
}
function GetDomainGUID(&$ldap, $DomainDN)
{
    $sr = ldap_read($ldap, $DomainDN, "(objectClass=domain)", array("objectguid"));
    $entries = ldap_get_entries($ldap, $sr);
    $guid = formatGUID($entries[0]["objectguid"][0]);
    return $guid;
}