Cmdlet은 작업을 수행 하기 위해이 항목에서 설명 하는 하나 이상의 입력 처리 방법을 재정의 해야 합니다. 이러한 메서드를 통해 cmdlet은 전처리, 입력 처리 및 사후 처리 작업을 수행할 수 있습니다. 이러한 메서드를 사용 하 여 cmdlet 처리를 중지할 수도 있습니다. 이러한 메서드를 사용 하는 방법에 대 한 자세한 예제는 Selectstr 자습서를 참조 하세요.
전처리 작업
Cmdlet은 나중에 cmdlet에 의해 처리 되는 모든 레코드에 유효한 전처리 작업을 추가 하기 위해 system.object 를 재정의 해야 합니다. PowerShell에서 명령 파이프라인을 처리할 때 PowerShell은 파이프라인에서 cmdlet의 각 인스턴스에 대해이 메서드를 한 번씩 호출 합니다. PowerShell에서 명령 파이프라인을 호출 하는 방법에 대 한 자세한 내용은 Cmdlet 처리 수명 주기를 참조 하세요.
다음 코드에서는 BeginProcessing 메서드의 구현을 보여 줍니다.
protected override void BeginProcessing()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the BeginProcessing template.");
}
입력 처리 작업
Cmdlet은 ProcessRecord 메서드를 재정의 하 여 cmdlet으로 전송 되는 입력을 처리할 수 있습니다. PowerShell에서 명령 파이프라인을 처리할 때 cmdlet에 의해 처리 되는 각 입력 레코드에 대해이 메서드를 호출 합니다. PowerShell에서 명령 파이프라인을 호출 하는 방법에 대 한 자세한 내용은 Cmdlet 처리 수명 주기를 참조 하세요.
다음 코드에서는 ProcessRecord 메서드의 구현을 보여 줍니다.
protected override void ProcessRecord()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the ProcessRecord template.");
}
후 처리 작업
Cmdlet은 cmdlet에 의해 처리 된 모든 레코드에 유효한 후 처리 작업을 추가 하기 위해 system.object 를 재정의 해야 합니다. 예를 들어 cmdlet은 처리를 완료 한 후 개체 변수를 정리 해야 할 수 있습니다.
PowerShell에서 명령 파이프라인을 처리할 때 PowerShell은 파이프라인에서 cmdlet의 각 인스턴스에 대해이 메서드를 한 번씩 호출 합니다. 그러나 cmdlet이 입력 처리를 통해 중간에 취소 되거나 cmdlet의 일부에서 종료 오류가 발생 하는 경우에는 PowerShell 런타임이 EndProcessing 메서드를 호출 하지 않는다는 점을 기억해 야 합니다. 이러한 이유로 개체 정리를 필요로 하는 cmdlet은 종료자를 포함 하 여 전체 system.string 패턴을 구현 해야 합니다. 이렇게 하면 런타임에서 처리가 끝날 때 EndProcessing 및 system.string 메서드를 모두 호출할 수 있습니다. PowerShell에서 명령 파이프라인을 호출 하는 방법에 대 한 자세한 내용은 Cmdlet 처리 수명 주기를 참조 하세요.
다음 코드에서는 EndProcessing 메서드의 구현을 보여 줍니다.
protected override void EndProcessing()
{
// Replace the WriteObject method with the logic required by your cmdlet.
WriteObject("This is a test of the EndProcessing template.");
}