Если база данных содержит не ASCII-данные, такие как (Lehtelä), Ldapsearch возвращает их в кодировке base64 (:: TGVodGVsw6Q =). Я следил за этим блогом, чтобы расшифровать его (https://lurchi.wordpress.com/2009/11/03/ldapsearch-and-base64-encoding/)
. Это только помогает, если base64 является значением одной строки, как его обрабатывать, если значение распространяется на несколько строк.
ldapsearch -x -H ldap://76.656.23.56 -D cn=admin -w abc -b "o=my_comp" -s sub -LLL 'mail=mail@gmail.com' sn nrfAssignedResources | un64
dn: cn=SBOSTRO2,ou=Employees,ou=Active,ou=Identities,ou=Meta,o=VCC
base64: invalid input
nrfAssignedResources:: "cn=VCCBIZ GPO 0100 account,cn=ResourceDef"
zLGNuPVJvbGVDb25maWcsY249QXBwQ29uZmlnLGNuPVVBLGNuPURyaXZlclNldCxvdT1TeXN0ZW0s
bz1WQ0MjMiM8YXNzaWdubWsjdfahgsgacgfacxfg sahhagsvgcagjMyMzZaPC9zdGFydF90bT48c
mVxX3RtPjIwMTQwMTI3MDYzMjM2WjwvcmVxX3RtPjxpbnN0LWd1aWQ+ZGM5M2ZkODRjYmQ3NGY3MG
JjM2VmZjRlODAyZDdlMjE8L2luc3QtZ3VpZD48cmVxPmNuPUpBU1BMVU5ELG91PUVtcGxveWVlcyx
W50Pg==
sn:: "Boström "
Как вы можете видеть здесь, поскольку sn имеет только одну строку («Boström») и значение nrfAssignedResources является многострочным, только первая строка декодируется, а не остальные. Код AWKдоступно по ссылке выше.