【发布时间】:2018-05-09 19:51:01
【问题描述】:
刚开始使用 Powershell,我遇到了障碍。我正在尝试遍历 AD 并获取所有 OU 的列表。从那里我试图获取每个 OU 中每个用户的用户帐户信息。为了测试,我已经能够获取所有 OU 的 DN 并输出到控制台,但是当我尝试将这些值传递给 get-aduser cmdlt 时,它失败了。
这是我的代码:
import-module activedirectory
$SearchBase = get-adorganizationalunit -filter * -searchbase "ou=users,ou=myUsers,dc=company,dc=local" -Properties CanonicalName | select-object -Property distinguishedName
foreach ($ou in $SearchBase) {
get-aduser -filter * -searchbase $ou -Properties givenName,sn,mail
}
我收到以下错误消息:“提供的 distinctName 必须属于以下分区之一...”
我认为问题在于将 $ou 传递给 get-aduser cmdlt 时,专有名称必须在 -searchbase 之后用引号括起来正确吗?如果是这样,不知道该怎么做。任何帮助表示赞赏。
【问题讨论】:
-
尝试在您的选择对象中使用 -Expandproperty。这只会显示对象,不会显示其他内容。
标签: powershell active-directory