0

我有 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' 错误消息:'Operator Not supported:' at position:'1 4'。在 line:1 char:19 + $user = get-aduser <<<< -filter {Name -eq $arr[0].username} + CategoryInfo : ParserError: (:) [Get-ADUser], ADFilterParsingException + FullyQualifiedErrorId :解析查询时出错:'Name -eq $arr[0].username' 错误消息:'Operator Not supported:' at position:'14'.,Microsoft.ActiveDirectory.Management.Commands.GetADUser

但是,当我运行时:

$user = get-aduser -filter {Name -eq "user1"}

它工作正常。

如何找到使用的用户$arr[0].username?有什么不同 ?他们都是字符串:“user1”和$arr[0].username...

谢谢你的帮助

4

1 回答 1

3

您可以将用户名分配给变量并在查询中使用它:

$name = $arr[0].username
$user = get-aduser -filter {Name -eq $name}

或使用扩展字符串而不是脚本块:

$user = get-aduser -filter "Name -eq '$($arr[0].username)'"
于 2013-08-18T10:15:11.013 回答