powershellの落とし穴

function test() {
	"aaaaa";
	Write-Host "bbbbb";
	Write-Output "ccccc";
	return 100;
}

cls;

$result = test;
# output
# bbbbb

$result.Length;
# output
# 3

$result[0];
# output
# aaaaa

$result[1];
# output
# ccccc

$result[2];
# output
# 100

return の意味って一体…?

文字出力は Write-Host を使うといいと思うよ。
ひたすらデバッグ文字が出なくて悩んでいた時期がボクにもありました。
戻り値がおかしいとかいう悩みの前に気付けてよかったな。