Страница 1 из 2

Экспорт логинов в текстовый файл

СообщениеДобавлено: 22 ноя 2004, 13:55
Сергей Черевков
Как можно экспортировать логины пользователей в текстовый файл, так чтобы они были по алфавиту или по контестам?

PS: NetWare 5.1 SP6

Re: Экспорт логинов в текстовый файл

СообщениеДобавлено: 22 ноя 2004, 14:15
Аркадий Глазырин
Сергей Черевков писал(а):Как можно экспортировать логины пользователей в текстовый файл, так чтобы они были по алфавиту или по контестам?

PS: NetWare 5.1 SP6


Зайти в NWadmin, открыь все OU и распечатать дерево на принтер.
Если надо получить это на бумаге.
Либо в PDF - если надо в электроном виде.

Из PDF "дёргаем" чем угодно. Можно Notepad-ом.

Re: Экспорт логинов в текстовый файл

СообщениеДобавлено: 22 ноя 2004, 14:40
Vladimir Kozak
Сергей Черевков писал(а):Как можно экспортировать логины пользователей в текстовый файл, так чтобы они были по алфавиту или по контестам?
PS: NetWare 5.1 SP6


NList? Но мне проще было бы через LDAP, любим браузером или через php :)

Re: Экспорт логинов в текстовый файл

СообщениеДобавлено: 22 ноя 2004, 15:03
Сергей Черевков
Аркадий Глазырин писал(а):Зайти в NWadmin, открыь все OU и распечатать дерево на принтер.
Если надо получить это на бумаге.
Либо в PDF - если надо в электроном виде.

Из PDF "дёргаем" чем угодно. Можно Notepad-ом.


Хочется чего-то вроде этого

Логин | Имя пользователя | Контекст
-------+-----------------------+-----------


Vladimir Kozak писал(а):NList? Но мне проще было бы через LDAP, любим браузером или через php :)


А подробнее можно? Что за NList, это стандартная утилита? А как через LDAP или PHP?

Re: Экспорт логинов в текстовый файл

СообщениеДобавлено: 22 ноя 2004, 15:13
Владимир Горяев
Сергей Черевков писал(а):Как можно экспортировать логины пользователей в текстовый файл, так чтобы они были по алфавиту или по контестам?
Novell Netware Revisor? Ознакомительная версия вроде бы может выдать такой отчет, платная так точно.

СообщениеДобавлено: 22 ноя 2004, 15:16
Андрей Тр. aka RH
Через LDAP - например, в С1 в Import / Export Wizard. Инфа сохраняется в текстовом файле ( ldif, примитивный формат ), после чего импорт в Ворд, к примеру, переформатирование в нужный вид ..

Re: Экспорт логинов в текстовый файл

СообщениеДобавлено: 22 ноя 2004, 15:37
Vladimir Kozak
Владимир Горяев писал(а):
Сергей Черевков писал(а):Как можно экспортировать логины пользователей в текстовый файл, так чтобы они были по алфавиту или по контестам?
Novell Netware Revisor? Ознакомительная версия вроде бы может выдать такой отчет, платная так точно.


Ох, тезка, любите вы, похоже как и Николай платные вещи :D В системе все есть. Nlist может все отдать бесплатно, надо только потом чуть обработать текст. Но вариант с LDAP-браузером и отчетом из него мне предпочтительней.

Re: Экспорт логинов в текстовый файл

СообщениеДобавлено: 22 ноя 2004, 15:37
Сергей Черевков
Владимир Горяев писал(а):Novell Netware Revisor? Ознакомительная версия вроде бы может выдать такой отчет, платная так точно.


Ознакомительная может, но там ограничение 50 пользователей (а у меня более 200), а покупать лицензию только ради этого я думаю не стоит.

Андрей Тр. aka RH писал(а):Через LDAP - например, в С1 в Import / Export Wizard. Инфа сохраняется в текстовом файле ( ldif, примитивный формат ), после чего импорт в Ворд, к примеру, переформатирование в нужный вид ..


ОК, щас попробую.

Re: Экспорт логинов в текстовый файл

СообщениеДобавлено: 22 ноя 2004, 15:38
Vladimir Kozak
Сергей Черевков писал(а):А подробнее можно? Что за NList, это стандартная утилита?


Можно. Да.

Сергей Черевков писал(а):А как через LDAP или PHP?


Если не отвлекусь :wink: , то через часочек дам код.

Re: Экспорт логинов в текстовый файл

СообщениеДобавлено: 22 ноя 2004, 16:11
Vladimir Kozak
Сергей Черевков писал(а):А как через LDAP или PHP?


Поправочка - LDAP и PHP. В следующем скрипте надо указать только правильный IP сервера NetWare, на котором работает LDAP и подправить ou и/или o (sale, firma). Из системных "требований" - Apache + PHP. Остальное наверное можно по вкусу. Собственно это даже сложный скрипт, можно обойтись и десятком строк. Если ввести пустое значение - выдаст список всех юзеров (скипнет с пустым полем full name!).

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

<head>

<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">

</head>

<body topmargin="0" leftmargin="0" bgcolor="#FFFFFF">

<br>

<table width="777" cellpadding="0" cellspacing="0" border="0" align="center">
   <tr>
      <td>

<?php

if ($HTTP_POST_VARS['action'] == 'submitted') {
   $v_cn="cn=".$v_cn."*";
   echo "Search filter: " . $v_cn . ". ";

  $ldap = ldap_connect("123.45.67.89");
  if ($ldap) {
    $bind_results = ldap_bind($ldap);
   if ($bind_results) {
    $nds_stuff = array("fullName", "title", "telephoneNumber", "cn", "l");
    $filter="($v_cn)";

    $results = ldap_search($ldap,"ou=sale,o=firma", $filter, $nds_stuff, "objectclass=person");
    $info = ldap_get_entries($ldap, $results);
   echo "items found: " .$info["count"]." (if full name field empty - records skipped). ";
   } else {
   print "Access denied";
   }
   echo "<a href=". $HTTP_SERVER_VARS['PHP_SELF'] ."> New search</a><br><br>";

echo "
<table width='777' border='0' cellspacing='0' cellpadding='0'>
   <tr class='sPhonesDept'>
              <td>login name</td>\n
              <td>full name</td>\n
              <td>title</td>\n
              <td>office</td>\n
              <td>phone</td>\n
   </tr>
";
for ($i=0; $i < $info["count"]; $i++) {
      if ($info[$i]["fullname"][0]) {
echo "
   <tr class='sPhonesLDAP'>
      <td class='sPhonesLDAP'> " . $info[$i]["cn"][0] . "</td>\n
      <td class='sPhonesLDAP'> " . $info[$i]["fullname"][0] . "</td>\n
      <td class='sPhonesLDAP'> " . $info[$i]["title"][0] . "</td>\n
      <td class='sPhonesLDAP'> " . $info[$i]["l"][0] . "</td>\n
      <td class='sPhonesLDAP'> " . $info[$i]["telephonenumber"][0] . "</td>\n
   </tr>
";
      }
    }
echo "</table><br>\n";

    ldap_close($ldap);

  } else {
    echo "<h4>Unable to connect to LDAP server</h4>";
  }

} else {

?>

<form action="<?php echo $HTTP_SERVER_VARS['PHP_SELF']; ?>" method="post">
    Login name:  <input type="text" name="v_cn">
    <input type="hidden" name="action" value="submitted">
    <input type="submit" name="submit" value="Search">
</form>

For Example: Iva (you get all results e.g. Ivanov, Ivanovich, Ivaschenko etc.)
<br><br>

<?php

}

?>

      </td>
   </tr>
</table>

<br>

</body>

</html>

СообщениеДобавлено: 22 ноя 2004, 16:20
Сергей Черевков
Андрей Тр. aka RH писал(а):Через LDAP - например, в С1 в Import / Export Wizard. Инфа сохраняется в текстовом файле ( ldif, примитивный формат ), после чего импорт в Ворд, к примеру, переформатирование в нужный вид ..


Попробовал. Мне кажется какие-то траблы с руским языком, вместо русских имен выдает следующее

givenName:: 0JDQvdC90LA=
sn:: 0J/RgNC10YHQvdGD0YXQuNC90LA=

СообщениеДобавлено: 22 ноя 2004, 16:26
Vladimir Kozak
Сергей Черевков писал(а):Попробовал. Мне кажется какие-то траблы с руским языком, вместо русских имен выдает следующее


Потому что данные в NDS хранятся в юникоде, посмотрите в моем скрипте секцию заголовка - charset=utf-8.

СообщениеДобавлено: 22 ноя 2004, 17:07
Андрей Тр. aka RH
Через РНР красивее, конечно, и можно сразу экспортировать в нужном формате. С русским ldif не пробовал ( это надо копать ) - а так точно, Unicode.

СообщениеДобавлено: 22 ноя 2004, 17:24
Vladimir Kozak
Андрей Тр. aka RH писал(а):Через РНР красивее, конечно, и можно сразу экспортировать в нужном формате.


В этом вся вкусность :) Делай как хочешь и что хочешь, и скорость бешенная 8)

Re: Экспорт логинов в текстовый файл

СообщениеДобавлено: 24 ноя 2004, 19:18
Музалёв Николай
... любите... как и Николай платные вещи....

Увы, практика показала, что халява она халява и есть... а как чуть стоящая программа, дык сразы "дЭньги давай" (С).
Вот разве что под себя писанная, поэтому ежели коллега Сергей Черевков на СИ слегка балуется, то есть мизерная библиотечка для работы с Деревом. Применительно к его задаче - примерно так:
(фрагмент распечатки : login , surname , phone).
Код: Выделить всё
      .................................
      MNS (User) - МУЗАЛЁВ Николай , "2557373 ; 6-75"
      .................................

При нужде - телефонируйте.