import win32com,win32com.client def ad_dict(ldap_path,value_required=1): attr_dict={} adobj=win32com.client.GetObject(ldap_path) schema_obj=win32com.client.GetObject(adobj.schema) for i in schema_obj.MandatoryProperties: value=getattr(adobj,i) if value_required and value==None: continue attr_dict[i]=value for i in schema_obj.OptionalProperties: value=getattr(adobj,i) if value_required and value==None: continue attr_dict[i]=value return attr_dict user='LDAP://cn=fred123,OU=people,DC=company,DC=com' print ad_dict(user)