Перейти до

импорт пользователей


Рекомендованные сообщения

требуемая задача: импортировать 300-400 пользователей, например из CSV-файла.

в файле по колонкам будут разбиты: ФИО, группа, адресс, IP, логин, пароль, тариф (порядок можно изменить).

кто что-то может подсказать по этому поводу?

Ссылка на сообщение
Поделиться на других сайтах

требуемая задача: импортировать 300-400 пользователей, например из CSV-файла.

в файле по колонкам будут разбиты: ФИО, группа, адресс, IP, логин, пароль, тариф (порядок можно изменить).

кто что-то может подсказать по этому поводу?

Берем любимый язык программирования, разбираем CSV-файл.

Потом в цикле по пользователям делаем add_user (XML-RPC или sgconf_xml) за которым следует set_user (XML-RPC или sgconf_xml).

Если же пользоваться sgconf то это будет -n а потом изменение каждого поля отдельно.

При известной сноровке это можно реализовать даже на bash.

Ссылка на сообщение
Поделиться на других сайтах

Напишу в этой же теме, хоть немного и не по импорту, но все же ... или в баги перенести.

Если запустить из Баша в цикле изменения многих пользователей - СТГ виснет. Вернее не отвечает на вопросы виндового конфигуратора, но при этом авторизаторы соединяются и остальное работает.

Скрипт простой - переводим мак-адреса из верхнего регистра в нижний и запускаем

/usr/sbin/sgconf set -s 192.168.x.x -p 9999 -a adminuser -w adminpass -u $login1 --ud0 $MAC

Так вот - если один раз супер. А если в цикле - после 5-6 прохода - глухо до перезапуска стг.

Ссылка на сообщение
Поделиться на других сайтах

Если сами не можете и это нужно сделать один раз, то будет проще написать - кто может это сделать за небольшую плату. И вы не будете себе голову забивать лишней информацией и убивать несколько дней на изучение основ программирования и кто-то сможет Вам помочь и немного заработать. Я именно так и делаю - привлекаю людей, которые разбираются в чем-то лучше, чем я. И у меня работа не стоит из-за простоя и реализация намного лучше, чем сделал бы я. А дальше просто сопровождаю сам, так как было сделано как я хотел.

Ссылка на сообщение
Поделиться на других сайтах

Напишу в этой же теме, хоть немного и не по импорту, но все же ... или в баги перенести.

Если запустить из Баша в цикле изменения многих пользователей - СТГ виснет. Вернее не отвечает на вопросы виндового конфигуратора, но при этом авторизаторы соединяются и остальное работает.

Скрипт простой - переводим мак-адреса из верхнего регистра в нижний и запускаем

/usr/sbin/sgconf set -s 192.168.x.x -p 9999 -a adminuser -w adminpass -u $login1 --ud0 $MAC

Так вот - если один раз супер. А если в цикле - после 5-6 прохода - глухо до перезапуска стг.

делай небольшую паузу после выполнения одной операции - виснуть не будет, проверено

Ссылка на сообщение
Поделиться на других сайтах

Давайте называть вещи своими именами. Если нет любимого языка программирования то нужен не кусок кода а готовая работающая утилита. Так?

Ссылка на сообщение
Поделиться на других сайтах

Напишу в этой же теме, хоть немного и не по импорту, но все же ... или в баги перенести.

Если запустить из Баша в цикле изменения многих пользователей - СТГ виснет. Вернее не отвечает на вопросы виндового конфигуратора, но при этом авторизаторы соединяются и остальное работает.

Скрипт простой - переводим мак-адреса из верхнего регистра в нижний и запускаем

/usr/sbin/sgconf set -s 192.168.x.x -p 9999 -a adminuser -w adminpass -u $login1 --ud0 $MAC

Так вот - если один раз супер. А если в цикле - после 5-6 прохода - глухо до перезапуска стг.

Да, есть такая бага в плагине конфигуратора. Сам пару раз наблюдал. Все руки не доходят исправить :)

Ссылка на сообщение
Поделиться на других сайтах

С паузой как раз и приходится костыли забивать. Я когда-то уже писал про отправку сообщений через КК, тоже, если отправлять несколько - приходит только последнее. А с паузой приходят все.

Хотелось бы пример кусок кода любой операции через XML-RPC - остальные подгоню уже по надобности.

Например изменении любого поля.

Буду благодарен.

Ссылка на сообщение
Поделиться на других сайтах

С паузой как раз и приходится костыли забивать. Я когда-то уже писал про отправку сообщений через КК, тоже, если отправлять несколько - приходит только последнее. А с паузой приходят все.

Хотелось бы пример кусок кода любой операции через XML-RPC - остальные подгоню уже по надобности.

Например изменении любого поля.

Буду благодарен.

В последних двух сборках есть каталог doc в котором есть файлик xmlrpc.php с примерами взаимодействия на PHP.

Ссылка на сообщение
Поделиться на других сайтах

Давайте называть вещи своими именами. Если нет любимого языка программирования то нужен не кусок кода а готовая работающая утилита. Так?

можно в принципе и так сказать. был бы рад любой конкретной помощи.

Ссылка на сообщение
Поделиться на других сайтах

Обережно, не тестив(!), але суть повинна бути ясна))

 

 

<?php

$file = file('file.csv');
$sg = "/usr/sbin/sgconf";
$sg_xml = "/usr/sbin/sgconf_xml";
$login = "admin";
$pass = "password";
$port = "2222";
$host = "localhost";

function encode12($src) {
   $len = strlen($src);
   $ofs = ord('a');
   $dst = "";
   for ($i = 0; $i <= $len; $i++) {
       $c1 = (ord($src [$i]) & 15) + $ofs;
       $c2 = (ord($src [$i]) >> 4) + $ofs;
       $dst .= chr($c1) . chr($c2);
   }
   return $dst;
}

foreach ($file as $val) {

   $ar = explode(';', $val);


   ////////////sgconf
   $cmd = $sg . ' set -s ' . $host . ' -p ' . $port . ' -a ' . $login . ' -w ' . $pass . ' -u ' . $ar[4];

   shell_exec($cmd . ' -n ');
   shell_exec($cmd . ' -A ' . $ar[0]);
   shell_exec($cmd . ' -G ' . $ar[1]);
   shell_exec($cmd . ' -D ' . $ar[2]);
   shell_exec($cmd . ' -I ' . $ar[3]);
   shell_exec($cmd . ' -o ' . $ar[5]);
   shell_exec($cmd . ' -t ' . $ar[6] . ':now');

////////////sgconf_xml
   /*
     $cmd2 = $sg_xml . '  -s ' . $host . ' -p ' . $port . ' -a ' . $login . ' -w ' . $pass . ' -r ';

     shell_exec($cmd2 . '  <AddUser> <login value="' . $arr[4] . '"/></AddUser>');
     shell_exec($cmd2 . '  <SetUser>
     <login value="' . $arr[4] . '"/>
     <name value="' . encode12($arr[0]) . '" />
     <group value="' . encode12($arr[1]) . '" />
     <address value="' . encode12($arr[2]) . '" />
     <ip value="' . $arr[3] . '" />
     <password value="' . $arr[5] . '" />
     <tariff now="' . $arr[6] . '" />
     </SetUser>');

    */
}
?>

 

Можна ще й xmlrpc прив'язати, в xmlrpc.php є приклад.

 

P.S. замініть делімітер на такий як у файлі csv

Ссылка на сообщение
Поделиться на других сайтах
  • 1 year later...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...