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




Argomenti della Guida