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
我们的应用程序允许客户通过 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