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

前端之家收集整理的这篇文章主要介绍了perl – 如何使用Net :: LDAP修改布尔LDAP Active Directory属性?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以成功绑定到AD LDAP,并修改和创建对象.

但是,如果我想更新或设置’Boolean’类型的属性,那么我会收到此错误

00000057: LdapErr: DSID-0C090C3E,comment: Error in attribute conversion operation,data 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',

]);

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

解决方法

根据LDAP规范;字符串值“TRUE”,“True”,“true”等都是有效的.

未知属性或该用户不可用的属性将抛出“属性转换操作错误错误.

查看属性并使用Google搜索它们会显示msExchHideFromAddressList应为msExchHideFromAddressLists< - 注意复数s.

猜你在找的Perl相关文章