小编Ste*_*way的帖子

如何使用Net :: LDAP修改布尔LDAP Active Directory属性?

我可以成功绑定到AD LDAP,并修改和创建对象.

但是,如果我想更新或设置类型'布尔'的属性,那么我收到此错误:

00000057:LdapErr:DSID-0C090C3E,注释:属性转换操作出错,数据0,v1db1

这是一段负责的Perl代码:

$rv = $ldap->add($dn, attr=> [
    cn => [$u],
    objectClass => [ 'top','person', 'organizationalPerson', 'contact' ],
    displayName => "$u Mailing List",
    mail => $email,
    name => $u,
    mailNickname => $local,
    proxyAddresses => [
        "SMTP:$email",
        "smtp:$local\@$SERVERDOM",
    ],
    givenName => $u,
    targetAddress => "SMTP:$email",
    internetEncoding => 1310720,
    msExchAddressBookFlags => 1,
    msExchModerationFlags => 6,
    msExchProvisioningFlags => 0,
        msExchHideFromAddressList => 'TRUE',
        msExchBypassAudit => 'FALSE',
        msExchMailboxAuditEnable => 'FALSE',
Run Code Online (Sandbox Code Playgroud)

]);

问题是最后三个属性; 如果他们被评论出来,那么它是有效的.我尝试使用0和1而不是'TRUE'和'FALSE',但我得到了相同的问题.似乎Net::LDAP代码调用Convert::ASN1的类型stringint不正确; 它应该使用'boolean',但我看不出如何做到这一点.

perl ldap active-directory netldap

7
推荐指数
1
解决办法
2748
查看次数

如何从base64编码userPassword和其他属性停止ldapsearch(1)?

ldapsearch(1)命令从LDAP服务器检索对象,并将它们打印为LDIF结构,如下所示(不是真实数据): dn: mail=foo@domain.com,dc=domain,dc=com objectclass: top objectclass: person mail: foo@domain.com userPassword:: hdfy74dhn79wdhyr74hy7489fhw46789f 如果属性包含非ASCII数据,则它是Base64编码的,由::属性名称后的双精度表示。此外,似乎所有被调用的属性userPassword都将始终如此编码,即使它是ASCII干净的也是如此。

我想做的就是告诉ldapsearch不要这样做。我无法找到要传递的选项标志来抑制此行为;仅在LDAP_PASSWD_DEBUG禁用的情况下重新编译源代码。

是否有未公开的选项来防止这种编码?

(不考虑安全性等,因为这是出于测试目的)

bash ldap

5
推荐指数
1
解决办法
4558
查看次数

标签 统计

ldap ×2

active-directory ×1

bash ×1

netldap ×1

perl ×1