PowerShell에서 Cmdlet 및 스크립팅 된 함수로 파이프 할 수 있습니다. 그러나 객체, 속성 또는 멤버 함수로 파이프 할 수 있습니까? 나는 데이터베이스 연결 개체 $dbCon
이있는 경우PowerShell의 개체/속성/메서드로 파이핑
예를 들어, 나는 할 수 있도록하려면 너무 이런 식으로 뭔가 :
$dbCon.GetSomeRecords() | <code-to-manipulate-those-records | $dbCon.WriteBackRecords()
내가 같은 기능을
Foreach-Object
또는 유도 할 수있는 Cmdlet를 달성 할 수있어 인자로 객체 - 내가 직접 객체 또는 그것의 멤버에게 파이프하기를 원하는 이유는 우아함을 얻고 OOP 스타일을 유지하는 것입니다 (객체를 인자로 보내기보다는 객체의 메소드를 사용하는 것).
가능한?
편집 :
명 내 질문을 이해하지 못하는 것 같습니다, 그래서 그것을 명확히해야 정상적인 기능에
PowerShell을 파이프 할 수 있습니다. 나는 쓰기 수 있습니다
function ScriptedFunction
{
$input|foreach{"Got "+$_}
}
1,2,3|ScriptedFunction
그리고 그 결과
Got 1
Got 2
Got 3
를 얻을. 나는 스크립트 방법과 그 기술을 사용하려고 할 때 :
$object=New-Object System.Object
$object|Add-Member -MemberType ScriptMethod -Name ScriptedMethod -Value {$input|foreach{"Got "+$_}}
1,2,3|$object.ScriptedMethod
을 나는 오류 메시지 : Expressions are only allowed as the first element of a pipeline.
(() BTW 도움이되지 않습니다 추가). 내가 찾고있는 것은 명령이 전역 함수와 동일한 방식으로 작동하도록하는 방법입니다.
스레드를 업데이트하여 지금 도움이되는지 확인하십시오. –