J'essaie d'obtenir des informations de AD en utilisant node.js. J'ai essayé activedirectory
et ldapauth-fork
et en général le code fonctionne, mais si j'ai besoin de octetstring
des données comme objectGUID
, je vois une chaîne de déchets dans l'objet. I found que les données binaires sont converties en une chaîne en utf-8. Mais le problème est que les données sont endommagées lors de la conversion (beaucoup de cahrs avec le code 65533) et je ne peux pas revenir à la chaîne binaire originale.Lire objectGUID à partir du répertoire actif
Comment puis-je accéder aux données au format octetstring
pour obtenir une représentation binaire correcte?
const ActiveDirectory = require('activedirectory');
const config = {
url: 'LDAP://ldap.example.com',
baseDN: 'OU=Users,DC=example,DC=com',
username: '[email protected]',
password: 'password'
};
const ad = new ActiveDirectory(config);
const query = {
filter: '(objectClass=user)',
attributes: ["dn", "cn", "objectGUID", "objectSid"]
};
ad.findUsers(query, function (err, result) {
if (err) {
return console.error(err);
}
console.log(result.length);
console.log(result[0]); // objectGUID contains rubbish
console.log([...result[0].objectGUID].map(ch => ch.charCodeAt(0)));
});
connexes:
- https://github.com/mcavage/node-ldapjs/issues/228
- https://github.com/gheeres/node-activedirectory/pull/15
Cela peut aider: http://ldapwiki.com/wik i/ObjectGUID – jwilleke