Powershell批量查找ActiveDirectory对象

kly*_*lyd 5 powershell adsi active-directory

我正在尝试开发一个PowerShell脚本来帮助AD Group Membership管理.我们有一些大型组(30k-60k +对象),我们想要使用来自另一个系统的数据进行更新.

该脚本从文本文件加载应该在组中的对象.然后每个对象必须使用a位于AD中System.DirectoryServices.DirectorySearcher.之后,每个对象都会添加到组成员资格中.

该脚本花费大约80%的时间查找每个对象,是否有大量方法在使用powershell在AD中查找对象?

谢谢!

CB.*_*CB. 3

这是我根据我的经验发现的查询 AD 的快速方法,您需要更改查询以查找特定对象,在这段代码中您将找到$objRecordSet.

$Ads_Scope_SubTree = 2        
$objConnection = new-Object  -com "ADODB.Connection"
$objCommand = new-Object -com "ADODB.Command"

$objConnection.Provider = "ADsDSOObject"
$objConnection.Open( "Active Directory Provider")
$objCommand.ActiveConnection = $objConnection

$objCommand.Properties.Item("Page Size").value = 1000
$objCommand.Properties.item("Searchscope").value = $Ads_Scope_SubTree 

$objCommand.CommandText = "Select Name From 'LDAP://DC = int, DC= my, DC = local' Where objectCategory = 'Person'" 

$objRecordSet = $objCommand.Execute()
$objRecordSet.RecordCount
Run Code Online (Sandbox Code Playgroud)

更多信息请点击此处