Getting sub-objects from ADSI
Michael P. Nugent
mpnugent at ra.rockwell.com
Fri Jul 25 05:10:26 EDT 2003
logistix at cathoderaymission.net (logistix at cathoderaymission.net) wrote in message news:<3c91a864.0307231744.44a0adbb at posting.google.com>...
> mpnugent at ra.rockwell.com (Michael P. Nugent) wrote in message news:<d89570b3.0307231025.69b573e5 at posting.google.com>...
> > How do I get the underlying values from Win::OLE=Hash(0x...) type
> > objects? I can do it in Perl, but not in Python.
> >
> > For instance, I get
> >
> > CN=Fred
> > <COMObject <unknown>>
> > <COMObject <unknown>>
> >
> > when running
> >
> > #! python
> >
> > import pythoncom
> > from win32com.client import GetObject
> >
> > UserPath = "LDAP://CN=Fred,OU=Two,OU=One,DC=nw,DC=home,DC=here,DC=com"
> >
> > ldap = GetObject(Userpath)
> >
> > print ldap.Name
> > print ldap.Groups()
> > print ldap.LastLogoff
> >
> > I know that Groups is of the type <bound method CDispatch.Groups of
> > <COMObject ...>>, but that knowledge does not help me much. I have
> > fiddled a bit with GetInfo and Dispatch, but it doesn't change the
> > results.
>
> Try:
>
> for group in ldap.Groups():
> print group.Name #or whatever you really want to do
Thank you for that. I had tried that, but must have mistyped
something. However, that is only part of the answer I need: what about
LastLogoff? I don't know even what type of OLE/COM object it is
supposed to be, so I don't know how to intuitively access it.
For instance, given:
print ldap.LastLogin
print ldap.LastLogoff
I get:
<PyTime:7/22/2003 3:37:46 PM>
<COMObject <unknown>>
Thomas Eck in ADSI Scripting Appendix B says that that these should be
the same types, so maybe the Python libs are hosed.
P.S. I don't like the naming inconsistancy-- logon <=> logoff, login
<=> logout-- either.
More information about the Python-list
mailing list