Write-Error
Scrive un oggetto nel flusso di errore.
Sintassi
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>]
Descrizione
Il cmdlet Write-Error scrive un errore nel flusso di errore di Windows PowerShell. Per impostazione predefinita, gli errori vengono inviati al programma host per essere visualizzati, insieme all'output.
È possibile scrivere un errore inviando una stringa del messaggio di errore, un oggetto ErrorRecord o un oggetto Exception. Utilizzare gli altri parametri di Write-Error per compilare il record di errore.
Parametri
-Category <ErrorCategory>
Specifica la categoria dell'errore. Il valore predefinito è NotSpecified.
Per informazioni sulle categorie di errori, vedere l'argomento relativo all'enumerazione ErrorCategory in MSDN (Microsoft Developer Network) Library all'indirizzo https://go.microsoft.com/fwlink/?LinkId=143600 (le informazioni potrebbero essere in lingua inglese).
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
NotSpecified |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-CategoryActivity <string>
Descrive l'azione che ha provocato l'errore.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
nessuno |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-CategoryReason <string>
Spiega la modalità e i motivi per cui l'attività ha provocato l'errore.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
nessuno |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-CategoryTargetName <string>
Specifica il nome dell'oggetto elaborato quando si è verificato l'errore.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
nessuno |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-CategoryTargetType <string>
Specifica il tipo .NET dell'oggetto elaborato quando si è verificato l'errore.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
nessuno |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-ErrorId <string>
Specifica una stringa ID per identificare l'errore. La stringa deve essere univoca per l'errore.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
nessuno |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-ErrorRecord <ErrorRecord>
Specifica un oggetto record di errore che include proprietà che descrivono l'errore.
Per ottenere un oggetto record di errore, utilizzare il cmdlet New-Object o ottenere un oggetto record di errore dalla matrice nella variabile automatica $Error.
Obbligatorio? |
true |
Posizione? |
named |
Valore predefinito |
nessuno |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Exception <Exception>
Specifica un'eccezione che rappresenta l'errore.
È possibile utilizzare un'eccezione anziché specificare il testo del messaggio o un record dell'eccezione.
Obbligatorio? |
true |
Posizione? |
named |
Valore predefinito |
nessuno |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Message <string>
Specifica il testo del messaggio dell'errore. Se il testo include spazi o caratteri speciali, è necessario racchiuderlo tra virgolette. È inoltre possibile reindirizzare una stringa di messaggio a Write-Error.
Obbligatorio? |
true |
Posizione? |
1 |
Valore predefinito |
nessuno |
Accettare input da pipeline? |
true (ByValue) |
Accettare caratteri jolly? |
false |
-RecommendedAction <string>
Descrive l'azione che l'utente deve intraprendere per risolvere o evitare l'errore.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
nessuno |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-TargetObject <Object>
Specifica l'oggetto elaborato quando si è verificato l'errore. Immettere l'oggetto (ad esempio una stringa), una variabile che contiene l'oggetto o un comando che ottiene l'oggetto.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
nessuno |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
System.String È possibile reindirizzare una stringa che contiene un messaggio di errore a Write-Error. |
Output |
Oggetto Error Write-Error scrive solo nel flusso di errore. Non restituisce alcun oggetto. |
Esempio 1
C:\PS>get-childitem | foreach-object { if ($_.gettype().tostring() -eq "Microsoft.Win32.RegistryKey") {write-error "Out-of-band object" -errorID B1 -targetobject $_ } else {$_ } }
Descrizione
-----------
Questo comando scrive un errore quando il cmdlet Get-ChildItem restituisce un oggetto Microsoft.Win32.RegistryKey, ad esempio gli oggetti nelle unità HKLM: o HKCU del provider Registry di Windows PowerShell.
Esempio 2
C:\PS>write-error "Access denied."
Descrizione
-----------
Questo comando scrive un errore "Accesso negato". Il comando utilizza il parametro Message per specificare il messaggio, ma omette il nome del parametro Message facoltativo.
Esempio 3
C:\PS>write-error -message "Error: Too many input values." -category InvalidArgument
Descrizione
-----------
Questo comando scrive un errore e specifica una categoria di errore.
Vedere anche
Concetti
Write-Debug
Write-Verbose
Write-Output
Write-Host
Write-Progress
Write-Warning