среда, 9 ноября 2011 г.

Как заставить ldapsearch выдвать из Active Directory на русском

Для того чтобы ldapsearch выдавал результаты по русски а не в base64 Надо передать вывод на такой перловый однострочник:
perl -MEncode -MMIME::Base64 -lpe 'if (/::/) { ($attr,$_)=split ; Encode::from_to($_=decode_base64($_),"utf8","utf8") ; $_="$attr : $_" }'

2 комментария:

  1. Супер! Наконец-то нарыл нормальное универсальное решение, в других статьях какие-то огромные строки и куча преобразований, которые работают через раз. Я удивлен что в ldapsearch нет встроенного декодировщика base64 строк, ведь это каждому второму нужно!

    ОтветитьУдалить
  2. Кстати, в конструкции:
    $_="$attr : $_" }'
    не нужно двоеточие, иначе он делает:
    name: MyName
    name:: : МоёИмя

    вместо:
    name: MyName
    name: : МоёИмя

    ОтветитьУдалить