Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 无法索引到空数组。(数组不为空)_Arrays_Powershell_Adsi - Fatal编程技术网

Arrays 无法索引到空数组。(数组不为空)

Arrays 无法索引到空数组。(数组不为空),arrays,powershell,adsi,Arrays,Powershell,Adsi,我一直在尝试使用员工号码获取用户名,但遇到了一个问题。如果我在文本框中输入了1个员工编号,下面的代码会起作用,但一旦文本框中有超过1个员工编号,它就会抛出“无法将索引放入空数组”错误,并只获取数组中的最后一个用户名 用户名以以下格式输入文本框: Employee1 Employee2 Employee3 如果我在搜索函数之前使用Write Host打印数组项,则一切正常。但是一旦使用了adsisearcher部分,我就会得到一个空数组错误。 有人能帮忙吗?解释一下我错在哪里 $array =

我一直在尝试使用员工号码获取用户名,但遇到了一个问题。如果我在文本框中输入了1个员工编号,下面的代码会起作用,但一旦文本框中有超过1个员工编号,它就会抛出“无法将索引放入空数组”错误,并只获取数组中的最后一个用户名

用户名以以下格式输入文本框:

Employee1
Employee2
Employee3
如果我在搜索函数之前使用Write Host打印数组项,则一切正常。但是一旦使用了adsisearcher部分,我就会得到一个空数组错误。 有人能帮忙吗?解释一下我错在哪里

$array = $textboxL.Text.Split("`n")

foreach($item in $array){
  $adString = (([adsisearcher]"(&(objectCategory=User)(employeenumber=$item))").findall()).properties["mailnickname"]
  $textBoxR.AppendText("$adString`r`n")
}

可能
FindAll
找不到任何,因此您可能需要为无效/不存在的员工编号添加错误处理。尝试将
$adString=
行拆分为多行,并在执行过程中检查临时结果,并在
foreach
的开头添加一些日志记录,例如
write host$item
,以便知道是哪个项导致了问题……Windows中的新行是
“`r`n”
,而不仅仅是
“`n”
。。。使用@mclayton-FindAll行肯定有问题,因为当我只是读取输入并打印到控制台(不使用FindAll行)时,Write Host会打印出没有问题的名称。我试着把它拆开,再试一次。但奇怪的是,findAll行在其1输入时可以完美地工作。如果有多个输入,则除最后一行外,所有输入都会出现空数组错误。@Theo我的代码副本有“
r
n”,上面的代码输入错误,My bad。