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