Ruby Windows user information and Active Directory querying

Hi,

Does someone have a few guidelines for the following:

  • Get the information about the user currently logged in (at least
    username would be good),
  • Use the above information to query the Active Directory (can net/
    ldap or ruby/ldap be used for this successfully?) for other info,
    specifically group membership?

I am on WinXP, but any guidelines might help (e.g. getting username on
*nix or querying LDAP on Mac). An important thing is that, from the
examples I have seen (e.g. a good one with Rails on top -
http://wiki.rubyonrails.org/rails/pages/HowtoAuthenticateViaLdap), you
need a few things to query AD - the login name, the password (a no-no
for storing within the script), base dn and other stuff.

All of these can change if you change the access place, so a good way
would be to fetch everything at runtime. I know that all of these can
be found in the information Windows can provide for the current user,
because various vbs scripts can do this (e.g.
http://www.computerperformance.co.uk/ezine/ezine138.htm). Can
something similar be done in Ruby easily (as tons of other stuff can)?

On 10 jul, 16:45, fu [email protected] wrote:

*nix or querying LDAP on Mac). An important thing is that, from the
examples I have seen (e.g. a good one with Rails on top -http://wiki.rubyonrails.org/rails/pages/HowtoAuthenticateViaLdap), you
need a few things to query AD - the login name, the password (a no-no
for storing within the script), base dn and other stuff.

All of these can change if you change the access place, so a good way
would be to fetch everything at runtime. I know that all of these can
be found in the information Windows can provide for the current user,
because various vbs scripts can do this (e.g.http://www.computerperformance.co.uk/ezine/ezine138.htm). Can
something similar be done in Ruby easily (as tons of other stuff can)?
Hi,

With Apache(and a proxy directive) you will be able to retrieve the
remote user from the client.
(normally the format is like this DOMAIN/USERNAME).

The following section

‘Reading REMOTE_USER from mongrel through proxy’ on
http://mongrel.rubyforge.org/docs/apache.html explains this.

Regards,
Stijn Van Vreckem

Stijn, thanks for the info. However, I am not talking about Web
applications here (although I am not excluding them also - if there is
a solution in a Web-application-form which solves what I need, I’d be
glad to look at it). The thing I need is a console-like application
that queries AD and gets the groups for the current user. The
problems: how to get the current user (i.e. not having the user to
type his username), how to authenticate to AD (i.e. without the user
needing to enter his password) and how to access the info from AD.
It’s not the login (authentication) that I need, just a query.
Basically, a Ruby version of *nix ‘groups’ program, just for Windows.

fu wrote:

Does someone have a few guidelines for the following:

  • Get the information about the user currently logged in (at least
    username would be good),

Perhaps the ENV object might help here:

ENV[‘USERNAME’]

returns the Windows user’s name or Windows login

David