我有CSV文件:
phone username
-------- ---------
1 user1
2 user2
首先我跑:
$arr = import-csv "c:\names.csv"
所以例如这是我跑的输出:
$arr[0].username
user1
现在,我的目标是在AD中以及运行时找到此用户:
$user = get-aduser -filter {Name -eq $arr[0].username}
我收到了:
Get-ADUser:解析查询时出错:'Name -eq $ arr [0] .username'错误 消息:'运营商不支持:'位置:'1 4'。在线:1 焦炭:19 + $ user = get-aduser<<<< -filter {Name -eq $ arr [0] .username} + CategoryInfo:ParserError:(:) [Get-ADUser],ADFilterParsingException + FullyQualifiedErrorId:解析查询时出错:'Name -eq $ arr [0] .username'错误消息:'运算符不支持: 'at position:'14'。,Microsoft.ActiveDirectory.Management.Commands.GetADUser
但是,当我跑步时:
$user = get-aduser -filter {Name -eq "user1"}
它工作正常。
如何找到使用$arr[0].username
的用户?
有什么不同 ?他们两个字符串:
“user1”和$arr[0].username
...
谢谢, 为了你的帮助
答案 0 :(得分:3)
您可以将用户名分配给变量并在查询中使用它:
$name = $arr[0].username
$user = get-aduser -filter {Name -eq $name}
或使用扩展字符串而不是脚本块:
$user = get-aduser -filter "Name -eq '$($arr[0].username)'"