【发布时间】:2014-03-26 13:43:36
【问题描述】:
我非常渴望这里的提示。这是我的困惑:
首先,我有一个字符串数组,我是这样创建的(显示数字的子集):
$a = @"
00013120747
00013051436
00013110491
00002100011
"@
$aa = $a.Split("`n")
接下来,我以这种方式(使用 ActiveRoles)生成 Active Directory 中所有用户的列表:
$all_u = Get-QADUser -DontUseDefaultIncludedProperties -IncludedProperties Name,LogonName,EmployeeID -SizeLimit 0
现在,为什么我不能匹配 $aa 数组的元素?例如,执行以下操作:
$all_u | where {$_.EmployeeID -match "00013110491"}
它有效。但如果我执行以下操作:
$all_u | where {$_.EmployeeID -match $aa[2]}
它不起作用。
所以我做了一个更简单的测试:
$aa.GetType().Name
String[]
$aa[2].GetType().Name
String
$aa[2]
00013110491
$aa[2] -eq "00013110491"
False
什么?这是怎么回事???
顺便说一下,我正在使用 PowerShell ISE。
【问题讨论】:
标签: arrays powershell powershell-3.0 powershell-ise