尝试创建一个通用函数,该函数可以接受带有ID的管道字符串,并将其转换为带有名称的管道字符串。下面的代码只返回数组中的第一项。我错过了什么?
{{1}}
答案 0 :(得分:1)
您的return语句位于foreach
循环内。把它移到外面,你应该没事。 (这就是缩进很重要的原因)
function Get-ValuesfromID($item) {
[String[]]$allItems = $item -split "\|"
foreach($item in $allItems) {
$nameofid = (Get-Item master:\ -ID $item).Name
$namedlist = $nameofid -join "\|"
}
return $namedlist # outside foreach loop
}
答案 1 :(得分:1)
不要在return
循环中使用foreach
- 它将退出封闭的函数/脚本。
break
;但是,似乎您的意图是在循环迭代中收集所有值,因此最简单的方法是将整个foreach
语句括在$(...)
中并应用{{1结果数组:
-join