标签: netldap

如何使用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
查看次数

通过ruby net-ldap查询LDAP用户的更好方法?

有没有更好的方法来搜索专门使用Net-ldap gem的用户和计算机?

这是我目前要做的只是为了获得用户.

results = search :base => @base, :filter => Net::LDAP::Filter.eq("cn", "*")
  @results = Array.new

  results.each do |result|
    @results.push result if result[:objectclass].include? "person" unless result[:objectclass].include? "computer"
Run Code Online (Sandbox Code Playgroud)

似乎会有更好的方法.我在文档中看不到任何明显的东西.

ruby ldap netldap

3
推荐指数
1
解决办法
3930
查看次数

在net-ldap中搜索Ruby的"已启用"用户

我正在使用net-ldap gem来搜索活动目录.
我可以使用过滤器搜索用户:

filter = Net::LDAP::Filter.eq("sAMAccountName", "neil*")
filter2 = ~Net::LDAP::Filter.eq("objectclass", "computer")

joined_filter = Net::LDAP::Filter.join(filter, filter2)

ldap.search(:base => treebase, :filter => joined_filter) do |entry|
   puts entry.sAMAccountName
end
Run Code Online (Sandbox Code Playgroud)

这给了我所有sAMAccountName以neil开头并且不是计算机帐户的用户.

如何添加仅搜索已启用帐户的过滤器?

ruby active-directory netldap

3
推荐指数
1
解决办法
2万
查看次数

使用net-ldap库查询Ldap以获取组详细信息

我正在尝试使用net-ldap库为ruby查询ldap服务器以获取任何组的详细信息

require 'rubygems'
require 'net/ldap'

username = "user1"
password = "pass1"
host = 'server.address'
ldap = Net::LDAP.new :host => host,  :port => 389
ldap.auth username, password

filter = Net::LDAP::Filter.eq("cn", "*group*")

ldap.search(:base => treebase, :filter => filter, :return_result => true) do |entry|
  puts "DN: #{entry.dn}"
  entry.each do |attr, values|
    puts ".......#{attr}:"
    values.each do |value|
      puts "          #{value}"
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我得到有关该组的详细信息,但不是该组的所有者.

什么是错的任何想法?以及如何做到这一点

ldap ldap-query netldap

2
推荐指数
1
解决办法
2721
查看次数

标签 统计

netldap ×4

ldap ×3

active-directory ×2

ruby ×2

ldap-query ×1

perl ×1