Get-ADUser 中的 Foreach

Foreach in Get-ADUser

在这一点上我已经尝试了很多不同的组合并且我快要干了。我有一个 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

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

sAMAccountName 是传递给 Get-ADUser 的 -Identity 参数的有效值。假设 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

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