Delen via


Write-Error

Hiermee schrijft u een object naar de foutstroom.

Syntaxis

NoException (Standaard)

Write-Error
    [-Message] <string>
    [-Category <ErrorCategory>]
    [-ErrorId <string>]
    [-TargetObject <Object>]
    [-RecommendedAction <string>]
    [-CategoryActivity <string>]
    [-CategoryReason <string>]
    [-CategoryTargetName <string>]
    [-CategoryTargetType <string>]
    [<CommonParameters>]

WithException

Write-Error
    [-Exception] <Exception>
    [-Message <string>]
    [-Category <ErrorCategory>]
    [-ErrorId <string>]
    [-TargetObject <Object>]
    [-RecommendedAction <string>]
    [-CategoryActivity <string>]
    [-CategoryReason <string>]
    [-CategoryTargetName <string>]
    [-CategoryTargetType <string>]
    [<CommonParameters>]

ErrorRecord

Write-Error
    [-ErrorRecord] <ErrorRecord>
    [-RecommendedAction <string>]
    [-CategoryActivity <string>]
    [-CategoryReason <string>]
    [-CategoryTargetName <string>]
    [-CategoryTargetType <string>]
    [<CommonParameters>]

Description

De Write-Error-cmdlet declareert een niet-afsluitfout. Standaard worden fouten in de foutstroom verzonden naar het hostprogramma dat moet worden weergegeven, samen met uitvoer.

Als u een niet-afsluitfout wilt schrijven, voert u een tekenreeks voor een foutbericht, een ErrorRecord-object of een Uitzonderings--object in. Gebruik de andere parameters van Write-Error om de foutrecord te vullen.

Niet-afsluitfouten schrijven een fout naar de foutstroom, maar ze stoppen de verwerking van opdrachten niet. Als een niet-afsluitfout wordt gedeclareerd voor één item in een verzameling invoeritems, blijft de opdracht de andere items in de verzameling verwerken.

Als u een afsluitfout wilt declareren, gebruikt u het trefwoord throw. Zie about_Throwvoor meer informatie.

Voorbeelden

Voorbeeld 1: Een fout schrijven voor RegistryKey-object

Get-ChildItem | ForEach-Object {
    if ($_.GetType().ToString() -eq "Microsoft.Win32.RegistryKey")
    {
        Write-Error "Invalid object" -ErrorId B1 -TargetObject $_
    }
    else
    {
        $_
    }
}

Met deze opdracht wordt een niet-afsluitfout declareren wanneer de Get-ChildItem cmdlet een Microsoft.Win32.RegistryKey-object retourneert, zoals de objecten in de HKLM: of HKCU: stations van de PowerShell-registerprovider.

Voorbeeld 2: Een foutbericht naar de console schrijven

Write-Error "Access denied."

Met deze opdracht wordt een niet-afsluitfout gede declareert en wordt de fout 'Toegang geweigerd' geschreven. Met de opdracht wordt de parameter Message gebruikt om het bericht op te geven, maar wordt de optionele parameternaam Message weggelaten.

Voorbeeld 3: Schrijf een fout naar de console en geef de categorie op

Write-Error -Message "Error: Too many input values." -Category InvalidArgument

Met deze opdracht wordt een niet-afsluitfout declareren en wordt een foutcategorie opgegeven.

Voorbeeld 4: Een fout schrijven met behulp van een uitzonderingsobject

$E = [System.Exception]@{Source="Get-ParameterNames.ps1";HelpLink="https://go.microsoft.com/fwlink/?LinkID=113425"}
Write-Error -Exception $E -Message "Files not found. The $Files location doesn't contain any XML files."

Deze opdracht maakt gebruik van een Uitzondering object om een niet-afsluitfout te declareren.

De eerste opdracht maakt gebruik van een hash-tabel om het System.Exception--object te maken. Hiermee wordt het uitzonderingsobject opgeslagen in de $E variabele. U kunt een hash-tabel gebruiken om elk object van een type te maken dat een null-constructor heeft.

De tweede opdracht maakt gebruik van de Write-Error cmdlet om een niet-afsluitfout te declareren. De waarde van de parameter Exception is het object Exception in de variabele $E.

Parameters

-Category

Hiermee geeft u de categorie van de fout. De standaardwaarde is NotSpecified. De acceptabele waarden voor deze parameter zijn:

  • Niet opgegeven
  • Fout openen
  • CloseError
  • Apparaat fout
  • ImpasseGedetecteerd
  • InvalidArgument
  • Ongeldige gegevens
  • OngeldigeBewerking
  • Ongeldig resultaat
  • OngeldigType
  • MetadataFout
  • Niet geïmplementeerd
  • Niet geïnstalleerd
  • ObjectNotFound
  • OperatieGestopt
  • Operatie Time-out
  • SyntaxIsfout
  • ParserFout
  • ToestemmingGeweigerd
  • ResourceBusy
  • Bron bestaat
  • ResourceNiet beschikbaar
  • Leesfout
  • Schrijffout
  • Van StdErr
  • Beveiligingsfout
  • ProtocolError
  • ConnectionError
  • AuthenticationError
  • LimietenOverschreden
  • Quota overschreden
  • NotEnabled

Zie ErrorCategory Enumerationvoor meer informatie over de foutcategorieën.

Parametereigenschappen

Type:ErrorCategory
Default value:NotSpecified
Geaccepteerde waarden: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, ProtocolError, ConnectionError, AuthenticationError, LimitsExceeded, QuotaExceeded, NotEnabled
Ondersteunt jokertekens:False
DontShow:False

Parametersets

NoException
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
WithException
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-CategoryActivity

Hiermee geeft u de actie op die de fout heeft veroorzaakt.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Activiteit

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-CategoryReason

Hiermee geeft u op hoe of waarom de activiteit de fout heeft veroorzaakt.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Reden

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-CategoryTargetName

Hiermee geeft u de naam op van het object dat werd verwerkt toen de fout optrad.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:DoelNaam

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-CategoryTargetType

Hiermee geeft u het type van het object dat werd verwerkt toen de fout optrad.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Doeltype

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-ErrorId

Hiermee geeft u een id-tekenreeks op om de fout te identificeren. De tekenreeks moet uniek zijn voor de fout.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

NoException
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
WithException
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-ErrorRecord

Hiermee geeft u een foutrecordobject op dat de fout vertegenwoordigt. Gebruik de eigenschappen van het object om de fout te beschrijven.

Als u een foutrecordobject wilt maken, gebruikt u de cmdlet New-Object of haalt u een foutrecordobject op uit de matrix in de $Error automatische variabele.

Parametereigenschappen

Type:ErrorRecord
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ErrorRecord
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Exception

Hiermee geeft u een uitzonderingsobject op dat de fout aangeeft. Gebruik de eigenschappen van het object om de fout te beschrijven.

Als u een uitzonderingsobject wilt maken, gebruikt u een hash-tabel of gebruikt u de cmdlet New-Object.

Parametereigenschappen

Type:Exception
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

WithException
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Message

Hiermee geeft u de berichttekst van de fout. Als de tekst spaties of speciale tekens bevat, plaatst u deze tussen aanhalingstekens. U kunt ook een berichttekenreeks doorsturen naar Write-Error.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Msg

Parametersets

NoException
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
WithException
Position:0
Verplicht:False
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-RecommendedAction

Hiermee geeft u de actie op die de gebruiker moet ondernemen om de fout op te lossen of te voorkomen.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-TargetObject

Hiermee geeft u het object op dat werd verwerkt toen de fout optrad. Voer het object, een variabele in die het object bevat of een opdracht waarmee het object wordt opgehaald.

Parametereigenschappen

Type:Object
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

NoException
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
WithException
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

String

U kunt een tekenreeks met een foutbericht doorsturen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer. Het schrijft alleen naar de stroom van het foutbericht.

Notities

Write-Error wijzigt de waarde van de $? automatische variabele niet, waardoor er geen afsluitfoutvoorwaarde wordt opgegeven. Als u een afsluitfout wilt signaleren, gebruikt u de methode $PSCmdlet.WriteError().