Powershell 从 LDAP 域外部删除 ADSI 中的用户

Powershell deleting user in ADSI from outside LDAP domain

我们的应用程序允许客户通过 Ldap 对他们自己的域进行身份验证,但我们在“myserver”ADSI 中保留了这些登录和帐户的缓存副本。由于我们应用程序另一部分的限制,我需要从我的服务器 ADSI

中删除数千个缓存帐户

请记住,这不是针对我的域,而是针对客户的域。不,我不是要删除他们域中的帐户,只是我们在 ADSI 中的缓存副本。

下面的代码行不会抛出错误,但它也不会删除帐户(也不会通过管道将其传递给“remove-aduser”

Get-ADObject -Server "myserver:3890" -SearchBase "CN=fqdn.customer.org,CN=Authentication Sources,O=Enterprise,CN=DifferentDirectory" -filter {name -eq "testuser"} | remove-adobject

旁注:我可以很好地查询默认命名上下文的这棵树

Get-ADObject -Server "myserver:3890" -filter 'objectclass -like "*"' -SearchBase "CN=fqdn.customer.org,CN=Authentication Sources,O=Enterprise,CN=DifferentDirectory"   

或者我可以使用 -ldapfilter 开关来获取有关特定帐户的相关信息。

这是一个奇怪的情况,因为我不是在处理我自己域中的帐户。这个主题的许多其他变体会抛出引用我自己的域、分区等的错误。我已经完成了我认为的所有这些。以上示例在我看来应该有效。

最后说明:我可以在 ADSIEDIT gui 中删除用户,但如前所述,他们给了我一个包含数千个需要删除的帐户的列表。一定有办法吗?!

我想出来了(我给它提供了一个 $users 列表)

Get-ADObject -Server “myserver:3890” -SearchBase “CN=fqdn.customer.org,CN=Authentication Sources,O=Enterprise,CN=DifferentdirectoryDirectory” -Filter * | Where-Object {$_.name -eq “$user”} | Remove-ADObject -confirm:$false