【发布时间】:2019-02-28 10:30:06
【问题描述】:
我想知道使用 Get-ADComputer 针对 5 个域搜索大型列表 (50k+) 主机名的最佳方法是什么。
我的想法是你有一个 $domains 数组和一个主机名列表。
Foreach ($domain in $domains) {
$results = $hostnames | ForEach-Object { Get-ADComputer -Server $domain -Filter "Name -eq '$($_)'" -Properties * } | Out-DataTable
没有 SearchBase,因为我们不确定机器可以在 AD 结构中的哪个位置,而且显然我们不知道它是哪个域。属性是*,因为我正在寻找所有东西。即使它是有限的,我们至少会寻找至少 8-10 个属性。我玩弄了从 $hostnames 列表中删除项目的想法,因为发现了一些东西。
【问题讨论】:
-
您是否为每个域打开了至少一个带有 PS 3 或更高版本的 DC 的 wsman 端口?
-
您最好先获取所有 ADComputer 数据的完整列表,然后将您的列表与该集合进行比较。数千次访问 AD 服务器...似乎是一种花费数小时、数小时和数小时的绝妙方法……[grin]
-
@brendan62269 - 实际上我不确定那件作品
-
@Lee_Dailey - 是的,我也这么认为!
标签: powershell active-directory