0
는 현재 내가 그렇게하고 있어요 :파이프 라인에 결과를 반환하기 위해 함수 인수에서 PSObject를 쉽게 생성하는 방법은 무엇입니까?
function Invoke-Service
{
Param(
[parameter(Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true)]
[int] $Id,
[parameter(Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true)]
[string] $Name,
[parameter(Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true)]
[int] $Age
)
DoSomeWork |
New-Object PSObject -Property @{ Id = $Id; Name = $Name; Age = $Age }
}
이 함수는 직접 또는 Import-Csv
출력 또는 select
출력에서 매개 변수입니다 얻을 수 있습니다.
는하지만 매우 자주 PSObject
의 모든 힘으로 파이프 라인을 계속 처리 할 :
Import-Csv -Path "data.csv" |
Invoke-Service |
... #
그리고 내 질문은 : 나는 모든 매개 변수를 열거 New-Object
를 호출해야 또는 키워드 등이 수행 내가 놓친 기술?
New-Object psobject -Property $PSBoundParameters
$PSBoundParameters
는 그렇게, 키와 값으로 매개 변수의 인수로 전체 매개 변수 이름을 사용하여 명명 된 매개 변수에 따라 항목이있는 해시 테이블을 포함하는 자동 변수입니다 :
파이프 라인의 매개 변수 (누군가 의심되는 경우)뿐만 아니라 작동합니다. 큰! – astef