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
(在确保输出文件不存在之后)。
在这一点上我已经尝试了很多不同的组合并且我快要干了。我有一个 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
(在确保输出文件不存在之后)。