Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rubygems'
- require 'net/ldap'
- def get_sid_string(data)
- sid = []
- sid << data[0].to_s
- rid = ""
- (6).downto(1) do |i|
- rid += byte2hex(data[i,1][0])
- end
- sid << rid.to_i.to_s
- sid += data.unpack("bbbbbbbbV*")[8..-1]
- "S-" + sid.join('-')
- end
- def byte2hex(b)
- ret = '%x' % (b.to_i & 0xff)
- ret = '0' + ret if ret.length < 2
- ret
- end
- ldap = Net::LDAP.new :host => "192.168.55.55",
- :port => 389,
- :auth => {
- :method => :simple,
- :username => "adam@foo.local",
- :password => "secret"
- }
- filter = Net::LDAP::Filter.eq( "cn", "Adam*" )
- treebase = "dc=foo,dc=local"
- ldap.search( :base => treebase, :filter => filter ) do |entry|
- puts "DN: #{entry.dn}"
- entry.each do |attribute, values|
- next if attribute.to_s != "objectguid"
- puts " #{attribute}:"
- values.each do |value|
- puts " --->#{value.bytes}"
- puts " --->#{value}"
- end
- puts " --->#{get_sid_string(attribute.to_s)}"
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement