오류 스트림에 개체를 기록합니다.

구문

Write-Error -ErrorRecord <ErrorRecord> [-CategoryActivity <string>] [-CategoryReason <string>] [-CategoryTargetName <string>] [-CategoryTargetType <string>] [-RecommendedAction <string>] [<CommonParameters>]

Write-Error [-Message] <string> [-Category {<NotSpecified> | <OpenError> | <CloseError> | <DeviceError> | <DeadlockDetected> | <InvalidArgument> | <InvalidData> | <InvalidOperation> | <InvalidResult> | <InvalidType> | <MetadataError> | <NotImplemented> | <NotInstalled> | <ObjectNotFound> | <OperationStopped> | <OperationTimeout> | <SyntaxError> | <ParserError> | <PermissionDenied> | <ResourceBusy> | <ResourceExists> | <ResourceUnavailable> | <ReadError> | <WriteError> | <FromStdErr> | <SecurityError>}] [-ErrorId <string>] [-TargetObject <Object>] [-CategoryActivity <string>] [-CategoryReason <string>] [-CategoryTargetName <string>] [-CategoryTargetType <string>] [-RecommendedAction <string>] [<CommonParameters>]

Write-Error -Exception <Exception> [-Category {<NotSpecified> | <OpenError> | <CloseError> | <DeviceError> | <DeadlockDetected> | <InvalidArgument> | <InvalidData> | <InvalidOperation> | <InvalidResult> | <InvalidType> | <MetadataError> | <NotImplemented> | <NotInstalled> | <ObjectNotFound> | <OperationStopped> | <OperationTimeout> | <SyntaxError> | <ParserError> | <PermissionDenied> | <ResourceBusy> | <ResourceExists> | <ResourceUnavailable> | <ReadError> | <WriteError> | <FromStdErr> | <SecurityError>}] [-ErrorId <string>] [-Message <string>] [-TargetObject <Object>] [-CategoryActivity <string>] [-CategoryReason <string>] [-CategoryTargetName <string>] [-CategoryTargetType <string>] [-RecommendedAction <string>] [<CommonParameters>]

설명

Write-Error cmdlet은 오류를 Windows PowerShell 오류 스트림에 기록합니다. 기본적으로 오류는 호스트 프로그램으로 보내져 출력과 함께 표시됩니다.

오류 메시지 문자열, ErrorRecord 개체 또는 Exception 개체를 전송하여 오류를 기록할 수 있습니다. Write-Error의 다른 매개 변수를 사용하여 오류 레코드를 채울 수 있습니다.

매개 변수

-Category <ErrorCategory>

오류의 범주를 지정합니다. 기본값은 NotSpecified입니다.

오류 범주에 대한 자세한 내용은 MSDN(Microsoft Developer Network) 라이브러리의 "ErrorCategory Enumeration(ErrorCategory 열거형)"(https://go.microsoft.com/fwlink/?LinkId=143600)을 참조하십시오.

필수 여부

false

위치

named

기본값

NotSpecified

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-CategoryActivity <string>

오류가 발생한 작업에 대해 설명합니다.

필수 여부

false

위치

named

기본값

없음

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-CategoryReason <string>

작업에서 오류가 발생한 과정 및 원인에 대해 설명합니다.

필수 여부

false

위치

named

기본값

없음

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-CategoryTargetName <string>

오류가 발생했을 때 처리 중이던 개체의 이름을 지정합니다.

필수 여부

false

위치

named

기본값

없음

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-CategoryTargetType <string>

오류가 발생했을 때 처리 중이던 개체의 .NET 유형을 지정합니다.

필수 여부

false

위치

named

기본값

없음

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-ErrorId <string>

오류를 식별하는 ID 문자열을 지정합니다. 오류에 대해 고유한 문자열이어야 합니다.

필수 여부

false

위치

named

기본값

없음

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-ErrorRecord <ErrorRecord>

오류를 설명하는 속성이 포함된 오류 레코드 개체를 지정합니다.

오류 레코드 개체를 가져오려면 New-Object cmdlet을 사용하거나 $Error 자동 변수의 배열에서 오류 레코드 개체를 가져옵니다.

필수 여부

true

위치

named

기본값

없음

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Exception <Exception>

오류를 나타내는 예외를 지정합니다.

메시지 텍스트 또는 예외 레코드를 지정하는 대신 예외를 사용할 수 있습니다.

필수 여부

true

위치

named

기본값

없음

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Message <string>

오류 메시지 텍스트를 지정합니다. 텍스트에 공백 또는 공백 문자 포함된 경우 따옴표로 묶어야 합니다. 메시지 문자열을 Write-Error로 파이프할 수도 있습니다.

필수 여부

true

위치

1

기본값

없음

파이프라인 입력 적용 여부

true (ByValue)

와일드카드 문자 적용 여부

false

-RecommendedAction <string>

오류를 해결하거나 방지하기 위해 사용자가 수행해야 하는 작업에 대해 설명합니다.

필수 여부

false

위치

named

기본값

없음

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-TargetObject <Object>

오류가 발생했을 때 처리 중이던 개체를 지정합니다. 개체(예: 문자열), 개체가 포함된 변수 또는 개체를 가져오는 명령을 입력합니다.

필수 여부

false

위치

named

기본값

없음

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_Commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

System.String

오류 메시지가 포함된 문자열을 Write-Error로 파이프할 수 있습니다.

출력

Error 개체

Write-Error는 오류 스트림에만 기록하며 어떠한 개체도 반환하지 않습니다.

예 1

C:\PS>get-childitem | foreach-object { if ($_.gettype().tostring() -eq "Microsoft.Win32.RegistryKey") {write-error "Out-of-band object" -errorID B1 -targetobject $_ } else {$_ } }

설명
-----------
이 명령은 Get-ChildItem cmdlet이 Windows PowerShell 레지스트리 공급자의 HKLM: 또는 HKCU 드라이브에 있는 개체와 같은 Microsoft.Win32.RegistryKey 개체를 반환하는 경우 오류를 씁니다.






예 2

C:\PS>write-error  "Access denied."

설명
-----------
이 명령은 "Access denied" 오류를 씁니다. 이 명령은 Message 매개 변수를 사용하여 메시지를 지정하지만 선택 사항인 Message 매개 변수 이름은 생략합니다.






예 3

C:\PS>write-error -message "Error: Too many input values." -category InvalidArgument

설명
-----------
이 명령은 오류를 쓰고 오류 범주를 지정합니다.






참고 항목




목차