Перенос пользователей с AD

Технические вопросы по UTM 5.0
Ответить
Аватара пользователя
opalao
Сообщения: 27
Зарегистрирован: Вт май 05, 2009 11:03

Перенос пользователей с AD

Сообщение opalao »

Всем добрый день. У меня была задача перенести пользователей с AD в утмку. Решил ее следующим образом с AD в екселевский файл выгружаю необходимую группу пользователей, затме файл конвыертирую в ццв и при помощи самаписного скрипта загружаю с ццв пользователей в базу. Посмотрите плиз все ли сделано правильно для загрузки пользователей.Мож кому и пригодится для использования

Код: Выделить всё

<?
    $link = mysql_connect&#40;"localhost", "*********", "***********"&#41; or die&#40;"No connect"&#41;;
    mysql_select_db&#40;'UTM5', $link&#41; or die &#40;"No db"&#41;;
    $fd = fopen&#40;"login.csv", "r"&#41;;	
    $nomer=1;
    while &#40;&#40;$arr = fgetcsv&#40;$fd, 1024, ";"&#41;&#41; !== FALSE&#41; 
	&#123;
	    	
	    //добавление пользователя в базу
	    $sql="Select UNIX_TIMESTAMP&#40;NOW&#40;&#41;&#41;";
	    $datee=mysql_query&#40;$sql&#41;;
	    while&#40; $row=mysql_fetch_array&#40;$datee&#41;&#41;
		&#123;
	            $dat= $row&#91;0&#93;;
		&#125;;
	    $sql="INSERT INTO users &#40;login,password,basic_account,advance_payment,create_date,last_change_date,who_create,
	    who_change,is_juridical,full_name,juridical_address,actual_address,work_telephone,home_telephone,
	    mobile_telephone,web_page,icq_number,tax_number,kpp_number,bank_id,bank_account,email,house_id,flat_number,
	    entrance,floor,district,building,passport,comments,personal_manager,connect_date,remote_switch_id,port_number,
	    binded_currency_code,is_send_invoice&#41; VALUES &#40;'$arr&#91;0&#93;','123456','0','0','$dat','$dat',
	    '0','0','0','','','','','','','','','','','0','','','0','','','','','','','','','$dat','0','0','0','0'&#41;";
	    $result = mysql_query&#40;$sql&#41;;
	    
	    //добавляем аккаунт
	    $sql="INSERT INTO 
	    accounts&#40;balance,credit,flags,int_status,block_recalc_abon,block_recalc_prepaid&#41; VALUES&#40;'0','0','3','1','0','0'&#41;";
	    $result = mysql_query&#40;$sql&#41;;
	    
	    $sql="INSERT INTO users_accounts &#40;uid,account_id&#41; VALUES &#40;'$nomer','$nomer'&#41;";
	    $result = mysql_query&#40;$sql&#41;;
	    
	    $sql="UPDATE users SET basic_account='$nomer' WHERE id='$nomer'";
	    $result = mysql_query&#40;$sql&#41;;
	    
	    $sql="INSERT INTO account_tariff_link&#40;account_id,tariff_id,next_tariff_id,discount_period_id,link_date&#41; 
	    VALUES&#40;'$nomer','1','1','2','$dat'&#41;";
	    $result = mysql_query&#40;$sql&#41;;
	    
	    //генерация айпи
    
	    $ip="192.168.0.".$nomer;
	    $sql="select inet_aton&#40;'$ip'&#41;";
	    $result=mysql_query&#40;$sql&#41;;
	    while &#40;$row=mysql_fetch_array&#40;$result&#41;&#41;
	       &#123;
	         $ipcifr=$row&#91;0&#93;;
	       &#125;; 			    
	    $ip=$ipcifr-4294967296;
	    
	    $sql="INSERT INTO ip_groups&#40;ip_group_id,ip,mask,uname,upass,mac,allowed_cid,create_date,ip_type,router_id&#41;
	     VALUES&#40;'$nomer','$ip','-1','$arr&#91;0&#93;','','','','$dat','0','0'&#41;";
	    $result=mysql_query&#40;$sql&#41;;
	    
	    //$sql="UPDATE temp_ip SET is_deleted=1 WHERE ip='ip'";
	    //$result=mysql_query&#40;$sql&#41;;
	    
	    $sql="INSERT INTO service_links&#40;user_id,account_id,service_id,tariff_link_id&#41; VALUES&#40;'$nomer', '$nomer', '3', '$nomer'&#41;";
	    $result=mysql_query&#40;$sql&#41;;
	    
	    $sql="INSERT INTO periodic_service_links&#40;id,discount_period_id,discounted_in_curr_period,start_date,is_planned,
	    expire_date,need_del,unprepay_period,unabon_period, is_invoice_set&#41; 
	    VALUES&#40;'$nomer', '2', '0', '$dat', '0', '2000000000', '0', '0', '0', '0'&#41;";
	    $result=mysql_query&#40;$sql&#41;;
	    
	    $sql="INSERT INTO downloaded&#40;downloaded_id,tclass_id&#41; VALUES&#40;'$nomer', '0'&#41;";
	    $result=mysql_query&#40;$sql&#41;;
	    
	    $sql="INSERT INTO iptraffic_service_links&#40;id,ip_group_id,downloaded_id&#41; VALUES&#40;'$nomer', '$nomer', '$nomer'&#41;";
	    $result=mysql_query&#40;$sql&#41;;
	    
	    $sql="UPDATE accounts SET int_status='1' WHERE id='$nomer'";
	    $result=mysql_query&#40;$sql&#41;;
	    $nomer++;
	    echo &#40;$nomer&#41;;
	    	           
        &#125;
   fclose&#40;$fd&#41;;		    
?>

bear
Сообщения: 498
Зарегистрирован: Чт ноя 15, 2007 11:53

Сообщение bear »

имхо проще и надежней урфа клиентом/неофицальной консольной админкой это сделать, скрипты тут выкладывали

Аватара пользователя
opalao
Сообщения: 27
Зарегистрирован: Вт май 05, 2009 11:03

Сообщение opalao »

не знал что такая не официальная консоль есть а можно ссылку. Ну и при обработки моего скрипта в варификатор никаких ошибок не записывается при запуске ядра, как я понимаю это хначит что все сделано правильно?

bear
Сообщения: 498
Зарегистрирован: Чт ноя 15, 2007 11:53

Сообщение bear »

на пхп viewtopic.php?t=6402
еще есть на яве - в поиске тут покопай

Ответить