PowerShell Cmdlet - Write-Error
 記事記号:[mh1934] 初版:2011/Sep/30

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    Write-Error
    
概要
    オブジェクトをエラー ストリームに書き込みます。
    
構文
    Write-Error -ErrorRecord <ErrorRecord> [-CategoryActivity <string>] [-Catego
    ryReason <string>] [-CategoryTargetName <string>] [-CategoryTargetType <stri
    ng>] [-RecommendedAction <string>] [<CommonParameters>]
    
    Write-Error [-Message] <string> [-Category {NotSpecified | OpenError | Close
    Error | DeviceError | DeadlockDetected | InvalidArgument | InvalidData | Inv
    alidOperation | InvalidResult | InvalidType | MetadataError | NotImplemented 
    | NotInstalled | ObjectNotFound | OperationStopped | OperationTimeout | Synt
    axError | ParserError | PermissionDenied | ResourceBusy | ResourceExists | R
    esourceUnavailable | ReadError | WriteError | FromStdErr | SecurityError}] [
    -ErrorId <string>] [-TargetObject <Object>] [-CategoryActivity <string>] [-C
    ategoryReason <string>] [-CategoryTargetName <string>] [-CategoryTargetType 
    <string>] [-RecommendedAction <string>] [<CommonParameters>]
    
    Write-Error -Exception <Exception> [-Category {NotSpecified | OpenError | Cl
    oseError | DeviceError | DeadlockDetected | InvalidArgument | InvalidData | 
    InvalidOperation | InvalidResult | InvalidType | MetadataError | NotImplemen
    ted | NotInstalled | ObjectNotFound | OperationStopped | OperationTimeout | 
    SyntaxError | ParserError | PermissionDenied | ResourceBusy | ResourceExists 
    | ResourceUnavailable | ReadError | WriteError | FromStdErr | SecurityError}
    ] [-ErrorId <string>] [-Message <string>] [-TargetObject <Object>] [-Categor
    yActivity <string>] [-CategoryReason <string>] [-CategoryTargetName <string>
    ] [-CategoryTargetType <string>] [-RecommendedAction <string>] [<CommonParam
    eters>]
    
説明
    Write-Error コマンドレットは、エラーを Windows PowerShell エラー ストリーム
    に書き込みます。既定では、エラーは、出力と共に、表示するホスト プログラムに
    送信されます。
    
    エラーは、エラー メッセージ文字列、ErrorRecord オブジェクト、または Exceptio
    n オブジェクトを送信することて書き込むことができます。エラー レコードに値を
    設定するには、Write-Error の他のパラメーターを使用します。
    
パラメーター
    -Category <ErrorCategory>
        このエラーのカテゴリを指定します。既定値は NotSpecified です。
        
        エラー カテゴリの詳細については、MSDN (Microsoft Developer Network) ライ
        ブラリの「ErrorCategory Enumeration (ErrorCategory 列挙型)」(http://go.m
        icrosoft.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、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.String
        パイプを使用してエラー メッセージを含む文字列を Write-Error に渡すことが
        できます。
    
出力
    エラー オブジェクト
        Write-Error は、エラー ストリームに対してのみ書き込みを行います。このコ
        マンドレットはオブジェクトを返しません。
    
メモ
    -------------------------- 例 1 --------------------------
    
    C:\PS>get-childitem | foreach-object { if ($_.gettype().tostring() -eq "Mic
    rosoft.Win32.RegistryKey") {write-error "Out-of-band object" -errorID B1 -t
    argetobject $_ } else {$_ } }
    
    説明
    -----------
    このコマンドは、Get-ChildItem コマンドレットにより、Windows PowerShell レジ
    ストリ プロバイダーの HKLM: ドライブまたは HKCU ドライブ内のオブジェクトな
    どの Microsoft.Win32.RegistryKey オブジェクトが返された場合、エラーを書き込
    みます。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>write-error  "Access denied."
    
    説明
    -----------
    このコマンドは、"Access denied" というエラーを書き込みます。このコマンドは 
    Message パラメーターを使用してメッセージを指定しますが、オプションの Messa
    ge パラメーター名は省略します。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>write-error -message "Error: Too many input values." -category Inval
    idArgument
    
    説明
    -----------
    このコマンドは、エラーを書き込み、エラー カテゴリを指定します。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113425
    Write-Debug 
    Write-Verbose 
    Write-Output 
    Write-Host 
    Write-Progress 
    Write-Warning 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Write-Error
ご利用数: 1915738
感想・要望・問い合わせは こちら