Hello all,
I am new to Ruby. I need a script to get a user's information from
Microsoft Active Directory.
Below is my script.
require 'rubygems'
require 'active_directory'
settings = {
:host => '192.168.56.102',
:base => 'dc=test,dc=com',
:port => 636,
:encryption => :simple_tls,
:auth => {
:method => :simple,
:username => "username",
:password => "password"
}
}
ActiveDirectory::Base.setup(settings)
user=ActiveDirectory::User.find(:first, :sAMAccountName => 'logonname')
puts user.inspect
And below is the output. It looks like what I need are in @myhash, but
how to get this hash or I have to parse it as string?
#<ActiveDirectory::User:0x00000001614ee0
@entry=#<Net::LDAP::Entry:0x0000000161ad90 @myhash={:dn=>["CN=firstname
middle. lastname,DC=test,DC=com"], :objectclass=>["top",
"person", "organizationalPerson", "user"], :cn=>["firstname middle.
lastname"], :sn=>["lastname"], :givenname=>["firstname"],
:initials=>["middle"], :distinguishedname=>["CN=firstname middle.
lastname,DC=test,DC=com"], :instancetype=>["4"],
:whencreated=>["20150326061809.0Z"],
:whenchanged=>["20150326101808.0Z"], :displayname=>["firstname middle.
lastname"], :usncreated=>["24686"],
:memberof=>["CN=group1,DC=test,DC=com"],
:usnchanged=>["24732"], :name=>["firstname middle. lastname"],
:objectguid=>["\x1DE,\x0E\x18u\x0FF\xABI\xFA\x15u\x88>w"],
:useraccountcontrol=>["512"], :badpwdcount=>["0"], :codepage=>["0"],
:countrycode=>["0"], :badpasswordtime=>["0"], :lastlogoff=>["0"],
:lastlogon=>["0"], :pwdlastset=>["0"], :primarygroupid=>["513"],
:objectsid=>["\x01\x05\x00\x00\x00\x00\x00\x05\x15\x00\x00\x00\x04\xA6R\xE9\xAA-\xAAH5\xF6~aR\x04\x00\x00"],
:accountexpires=>["9223372036854775807"], :logoncount=>["0"],
:samaccountname=>["logonname"], :samaccounttype=>["805306368"],
:userprincipalname=>["logonname@test.com"], :lockouttime=>["0"],
:objectcategory=>["CN=Person,CN=Schema,CN=Configuration,DC=test,DC=com"],
:dscorepropagationdata=>["20150326094402.0Z", "20150326094349.0Z",
"16010101000416.0Z"], :mail=>["test@test.com"]}>, @attributes={}>
Thanks.
···
--
Rex Zhang <rexzhang@cienet.com.cn>