【发布时间】:2014-07-31 06:47:25
【问题描述】:
我的工作是创建一个脚本,该脚本从部门编号(AD 中)获取所有用户及其相关计算机(由属性管理)。
我设法获得了所有用户 - 以及一组设置了 Managed By 属性的所有 AD 计算机 - 现在我必须找到每台正确的计算机(意味着用户名(从 AD 用户获得))匹配一个(或更多)完整 AD-Computer 提取的计算机。
我现在用这个试了一下:
$test = $user.samaccountname
$computer +=($ManagedBy | Where-Object {$_.ManagedBy -like "*"$test"*"})
变量的简短解释:
$ManagedBy 包含:
@{ManagedBy=CN=weibo1,OU=Users,OU=Managed,DC=asia,DC=ourComp,DC=com; Name=computer1}
@{ManagedBy=CN=kimyo1,OU=Users,OU=Managed,DC=asia,DC=ourComp,DC=com; Name=computer2}
$test 包含所需部门中的所有用户名:
putzifa1
fischch1
jonesem1
等等
我真的不知道,也无法在网上找到任何好的解决方案来做到这一点(我有一些想法,比如 foreach,然后一直是 if 或其他东西,但我猜性能不会起作用).. .. $ManagedBy 包含大约 4000 个条目,另一个大约 350 个
非常感谢您!
【问题讨论】:
-
可能有点不清楚...我有几个部门编号(这是一个 AD 属性),我需要从该部门的人员那里获取计算机名称 :-)
标签: arrays powershell foreach