Я занимаюсь экспериментальным экспериментированием о конвейере, и я создал себе 3 функции: «Get-Getter», «Do-Something», «Output-Somewhere».Почему мой сценарий возвращает мне дважды объекты?
С моей функцией getter, я пытаюсь вывести 3 объекта, который имеет только свойство name. Это работа, за исключением того, что мои результаты будут дублированы (отображаются дважды).
Я задаюсь вопросом, что я сделал неправильно здесь:
function The-Getter {
[CmdletBinding()]
Param()
begin{
Write-Verbose -Message 'Entering the begin bloc of The-Getter'
$a = 'BMW X3'
$b = 'BMW X4'
$c = 'BMW X6'
}
process{
Write-Verbose -Message "Entering the process bloc of The-Getter with object $_"
$Collection = @()
$obj1 = New-Object –typename PSObject
$obj1 | Add-Member –membertype NoteProperty –name Name –value ($a) –passthru
$Collection += ($obj1)
$obj2 = New-Object –typename PSObject
$obj2 | Add-Member –membertype NoteProperty –name Name –value ($b) –passthru
$Collection += ($obj2)
$obj3 = New-Object –typename PSObject
$obj3 | Add-Member –membertype NoteProperty –name Name –value ($c) –passthru
$Collection += ($obj3)
Return $Collection
}
end{
Write-Verbose -Message 'Entering the end bloc of The-Getter'
}
}
Выход:
PS C:\> The-Getter
Name
----
BMW X3
BMW X4
BMW X6
BMW X3
BMW X4
BMW X6
Спасибо за ваше время.
Это имеет смысл, спасибо @ ST8Z6FR57ABE6A8RE9UF –