Комментарии
Этот метод выполняет поиск всех элементов одномерного arrayfor value. Чтобы определить ли value существует в array, метод выполняет сравнения на равенство, вызвав каждый элемент Equals метод, пока не найдет совпадение. Это означает, что если элемент переопределяет Object.Equals(Object) вызывается метод, что переопределение.
PS > $arr[1].Equals($temp)
False
PS > $arr[1].Equals("$temp")
True
Поэтому:
PS > $arr.indexOf("$temp")
1
PS > [array]::IndexOf($arr, "$temp")
1