我在AD中使用以下代码进行搜索:
Clear-Host
$Dept=Read-Host "Enter the desired department"
$strFilter = "(&(objectCategory=User)(Department=*$Dept*))"
$objDomain = New-Object System.DirectoryServices.DirectoryEntry
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = $strFilter
$objSearcher.SearchScope = "Subtree"
$colResults = $objSearcher.FindAll() | Export-Csv H:\TEST\EXPORTtestNEW2222.csv
结果采用以下格式:
#TYPE System.DirectoryServices.SearchResult
Path Properties
LDAP://CN=BECALI Gigi (SALES),OU=Users_NOAP,OU=SALES,OU=DGs,DC=net2,DC=cec,DC=fr,DC=int System.DirectoryServices.ResultPropertyCollection
LDAP://CN=BRANESCU Mimi(SALES),OU=Users_NOAP,OU=SALES,OU=DGs,DC=net2,DC=cec,DC=eu,DC=int System.DirectoryServices.ResultPropertyCollection
LDAP://CN=BAU Cucu (SALES),OU=A2-testusersettings,OU=Users_NOAP,OU=SALES,OU=DGs,DC=net2,DC=cec,DC=eu,DC=int System.DirectoryServices.ResultPropertyCollection
我需要完全用“LDAP://”和属性部分(全部不需要
System.DirectoryServices.ResultPropertyCollection
)“剪切”该部分并将其存储在变量中。
最佳答案
代替:
$objSearcher.FindAll() | export-csv H:\TEST\EXPORTtestNEW2222.csv
您可以使用
Select-Object
cmdlet来选择和精确操作所需的属性:$objSearcher.FindAll() | Select-Object @{Name="Path";Expression = {$_.Path.Substring(7)}} |Export-Csv H:\TEST\EXPORTtestNEW2222.csv
在这里,我们创建一个名为
Path
的新属性,并使用现有的Path
属性作为其值,但是使用Substring()
删除了前7个字符
关于powershell - 如何修剪广告搜索结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32433853/