Write-Error
オブジェクトをエラー ストリームに書き込みます。
構文
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 コマンドレットは、エラーを 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 コマンドレットを使用するか、$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>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
System.String パイプを使用してエラー メッセージを含む文字列を Write-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 コマンドレットにより、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
説明
-----------
このコマンドは、エラーを書き込み、エラー カテゴリを指定します。
関連項目
概念
Write-Debug
Write-Verbose
Write-Output
Write-Host
Write-Progress
Write-Warning