首页 > 解决方案 > 获取 ADUser 中的 Foreach

问题描述

在这一点上,我已经尝试了很多不同的组合,但我快要干了。我有一个 CSV 文件,其中包含 117321 格式的人的用户名 ( Users ),它指的是他们的登录名。我正在尝试获取所有这些用户的主目录路径并将它们导出到 CSV。这是我到目前为止所拥有的,但它似乎不起作用。我什至尝试过过滤器。

$InputFile = 'C:\Users.csv'
$Users = Import-CSV $InputFile
$OutputFile = 'C:\Directory Results.csv'

$HomeDirOutput = ForEach ($User in $Users) {
Get-ADUser -LDAPFilter "(sAMAccountName=$user)" -Properties homedirectory
}

$HomeDirOutput | Export-Csv $OutputFile -NoTypeInformation

我得到的只是一个空白的电子表格。

标签: powershellactive-directoryldap

解决方案


-IdentitysAMAccountName 是传递给Get-ADUser 参数的有效值。假设 CSV 包含一列“AccountName”,您应该能够做到

Import-CSV -Path $InputFile | ForEach-Object { Get-ADUser -Identity $_.AccountName -Property sAMAccountName,HomeDirectory } | SelectObject -Property sAMAccountName,HomeDirectory | Export-CSV -NoTypeInformation -Path $OutputFile -Append

(在确保输出文件不存在之后)。


推荐阅读