Посмотрите файлик /bitrix/modules/main/admin/user_import.php -- непосредственно выполняющая импорт часть совсем небольшая, но придётся разобраться с параметрами.
if (is_file($csvFilePath) && is_readable($csvFilePath)){$csvImport = new CSVUserImport($csvFilePath, $arDelimeters[$delimeter]);$csvImport->SetUserGroups($userGroups);$csvImport->IgnoreDuplicate($ignoreDuplicate == "Y");$csvImport->SetCallback("_OnUserAdd");$csvImport->SetImageFilePath($pathToImages);$csvImport->AttachUsersToIBlock($attachIBlockID);$defaultUserEmail = $csvImport->GetDefaultEmail();if ($ldapServer > 0 && $ldapExists){$dbLdap = CLdapServer::GetByID($ldapServer);if ($dbLdap->Fetch())$csvImport->externalAuthID = "LDAP#".$ldapServer;}if ($csvImport->IsErrorOccured())$strError = $csvImport->GetErrorMessage();}