使用 LDAP 路径获取 Active Directory 对象的信息

发布于 2025-01-18 18:20:43 字数 254 浏览 0 评论 0原文

如何使用win32com软件包使用LDAP路径获取Active Directory对象的所有属性和值?
例子:

import win32com.client


ldap_path = "LDAP://CN=aaa,DC=bbb,DC=ccc,DC=eee"

ldap_object = win32com.client.GetObject(ldap_path)

How to get all attributes and values of an Active Directory object using LDAP path with win32com package ?
Example:

import win32com.client


ldap_path = "LDAP://CN=aaa,DC=bbb,DC=ccc,DC=eee"

ldap_object = win32com.client.GetObject(ldap_path)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

韵柒 2025-01-25 18:20:43

我自己的答案:


import win32com.client


def get_attributes_and_values(ldap_path):
    ldap_object = win32com.client.GetObject(ldap_path)
    ldap_object.GetInfo()

    attributes = [
        ldap_object.Item(x).Name
        for x in range(0, ldap_object.PropertyCount)
    ]
    for attribute in attributes:
        value = getattr(ldap_object, attribute)
        yield {attribute: value}


ldap_path = "LDAP://CN=aaa,DC=bbb,DC=ccc,DC=eee"

attr_val = get_attributes_and_values(ldap_path)
for x in attr_val:
    print(x)

ItemNamePropertyCount 是由 win32com.client 包装的“COM”对象的对象/属性

My own answer:


import win32com.client


def get_attributes_and_values(ldap_path):
    ldap_object = win32com.client.GetObject(ldap_path)
    ldap_object.GetInfo()

    attributes = [
        ldap_object.Item(x).Name
        for x in range(0, ldap_object.PropertyCount)
    ]
    for attribute in attributes:
        value = getattr(ldap_object, attribute)
        yield {attribute: value}


ldap_path = "LDAP://CN=aaa,DC=bbb,DC=ccc,DC=eee"

attr_val = get_attributes_and_values(ldap_path)
for x in attr_val:
    print(x)

Item, Name, PropertyCount are objects/attributes of "COM" object that has been wrapped by win32com.client.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文