当前位置: 首页 > 知识库问答 >
问题:

通过python ldap获取已删除的广告用户/组

乜元魁
2023-03-14

如果你在windows广告中删除一个用户或组,它将出现在“删除对象”中。我想使用python ldap库来获取它们。代码:

<code>
import ldap
uri = "ldap://10.64.74.17"
user = "XXXXXXXXXX"
password = "XXXXXXXXXXXX"
ldap.set_option(ldap.OPT_REFERRALS, 0)
ldap.set_option(ldap.OPT_NETWORK_TIMEOUT, 5)
ldap.protocol_version = 3
ldapClient = ldap.initialize(uri)
ldapClient.simple_bind_s(user, password)
filter = "(&(objectclass=person)(isDeleted=true)(!(objectclass=computer)))"
results = ldapClient.search_s("DC=xx,DC=com", ldap.SCOPE_SUBTREE,filter)
for result in results:
  print result
ldapClient.unbind_s()
</code>

它无法显示已删除的对象。这个代码怎么了?

共有1个答案

秋阳荣
2023-03-14

您需要在搜索中添加ldap控件。看起来像这样。基本上为特定操作创建请求控制(在您的例子中,AD的OID是1.2.840.113556.1.4.417)。然后将一组控件作为可选参数传递给搜索请求。

tombstone_control = ('1.2.840.113556.1.4.417',criticality=1)
results = ldapClient.search_s("DC=xx,DC=com", ldap.SCOPE_SUBTREE,filter, [tombstone_control])

我想那会管用的。您还可以将搜索范围扩大到CN=Deleted Objects,DC=xx,DC=com,因为所有删除的对象都会在这里结束。你应该确保你删除的对象首先在那里。您可以使用ldp。exe进行检查。

 类似资料:
  • 使用Google Ads API“获取帐户层次结构”获取所有帐户。https://developers.google.com/google-ads/api/docs/account-management/get-account-hierarchy?hl=en 发现取消的帐户未被检索。 我确实看到用户界面和Google Data Studio连接器中报告了被取消的账户。我猜两者都使用旧的AdWord

  • sp_getad(); 功能: 根据广告名称获取广告内容 参数: $ad_name:广告名称 返回: 格式 string,广告内容 示例: <?php $ad_name='top_ad'; $ad_content=sp_getad('top_ad'); //获取广告内容 echo $ad_content; //输出广告内容 模板中用法: <div> {:sp_getad('top

  • 我想得到的活动和广告表现的报告。到目前为止,我已经得到了竞选业绩报告,但我无法得到广告业绩报告。 我在客户端库中看到了谷歌广告api和它们的例子。但我无法理解如何获得广告报道。 我正在制作一个函数,通过谷歌广告api为我获取报告。 谷歌广告Api:https://developers.google.com/google-ads/api/docs/fields/ad_group_ad#ad_grou

  • 我有一个Web角前端,API网关受Cognito和Lambda保护,用于其他业务用例。登录和授权工作正常。我正在使用AWS Javascript SDK进行授权。像https://s3.amazonaws.com/solutions-reference/mobile-backend/latest/mobile-app-backend.pdf 在我的lambda中,我需要获得其他用户的信息,如名字、

  • 使用由ADAL.NET使用此方法生成的承载令牌来保护对API的调用。 然而,当我查看API收到的声明时…没有显示为用户唯一的标识符。Nameidentifier声明对于我为其生成令牌的每个用户都是相同的。 在上面的代码中生成的objectid是令牌生成过程中唯一独特的方面,在令牌的API解构造中表示的声明中,这似乎并不重要。

  • 我正在运行一个Cordova应用程序,它连接到一个承载在Azure上的Web API。我已经使用Azure AD承载身份验证保护了API。当用户试图调用其中一个endpoint时,他会被转发到Azure广告登录页面,输入他的凭据,然后得到令牌。该令牌将添加到API的所有后续请求中。我正在使用mobile apps客户端SDK(cordova-plugin-ms-azure-mobile-apps)