오류 스트림에 개체를 기록합니다.
구문
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 설명 ----------- 이 명령은 오류를 쓰고 오류 범주를 지정합니다.
참고 항목