powershell - 如何修剪广告搜索结果?

标签 powershell active-directory

我在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/

相关文章:

windows - 如何在 Windows 上从 Powershell 打开文件夹(在我的桌面上)?

powershell - 您可以在 Get-ADUser 上使用 -Filter 来过滤掉空字段吗?

windows - 从 DMZ 连接到 Active Directory 的最安全方法是什么?

powershell - 听起来很复杂,但事实并非如此,在PowerShell中比较文件

powershell - 从selection.insertcaption完全删除标签

active-directory - 哪个是用于进行自定义查询的最佳 Active Directory 资源管理器?

vb.net - 获取 Active Directory 中的所有用户

powershell - 如何使 Windows DNS 和 WINS 设置保留在 Azure VM 中?

powershell - 从Powershell接收SSIS执行结果

Powershell:使用许多文件名执行命令的更短方法?