【发布时间】:2017-11-07 18:21:06
【问题描述】:
我有一个来自整个域的用户名的 CSV 列表,我正在尝试将该列表与特定 OU 进行比较,并将匹配项发送到另一个文件。我是 powershell 的新手,所以经过大量研究并与其他脚本比较后,我想出了这个:
$users = Import-csv C:\Users\me\Desktop\'RSA.csv'
$(ForEach ($user in $users)
{
Get-AdUser -identity $user -SearchBase "ou=Sub,ou=Root,dc=My,dc=Domain,dc=Name" -Filter *
}) |
Select-Object SamAccountName |
Export-CSV -Path C:\Users\me\Downloads\test\output.csv -NoTypeInformation
当我运行它时,我收到错误“Get-ADUser : Cannot validate argument on parameter 'Identity'. The Identity property on the argument 为空或为空。”如果我在没有 -identity $user 的情况下运行,它只会拉取所有内容。关于如何使其工作的任何建议?
【问题讨论】:
-
您是否尝试过打印
$user变量以确保它包含某些内容? -
是的,当我在 $user 上使用 Write-Output 时,它会打印所有用户名。
-
我有一个,所以我删除了它,但得到了相同的结果。
-
您的 csv 中的用户名列上是否有标题?如果有,它叫什么名字?
-
我愿意,标题是用户名。有一次,我在“Import-CSV”之后添加了“| 选择用户名”,但这并没有改变任何东西,所以我把它拿出来了。
标签: powershell csv active-directory ou