Hvordan bruke PowerShell ErrorAction -parameter

Hvordan bruke PowerShell ErrorAction -parameter
Kommandolinjeverktøyene er brukeravhengige der brukere skriver kommandoer på konsollen og dermed kan menneskelig feil oppstå. Vanligvis, hvis en kommando mislykkes i PowerShell, kastes en feil basert på verdien som er satt inn ErrorActionPreference. Powershells Erroraksjon Parameter lar deg endre handlingen hvis det oppstår en feil. Feilaksjonsparameteren tilhører PowerShells familie av vanlige operatører og støtter dermed forskjellige alternativer som fortsette, lydløst sammen, ignorerer og mange flere. I dette innlegget beskrives FEILACTION -parameteren til PowerShell i detalj med noen praktisk anvendelse på feil.

Hvordan FEILACTION -parameter fungerer i PowerShell

Hvis det oppstår en feil i PowerShell, kommer feil i PowerShell. Som standard har errorActionPreference en verdi Fortsette som viser en feil og fortsetter den videre utførelsen. For hver kommando erstattes FEILActionPreference -verdien av alternativet som brukes i feilaksjonsparameteren. Feilaksjonen kan brukes med hvilken som helst cmdlet/funksjon på følgende måte:

> -Erroraksjon

Arbeidet med feilaksjon avhenger hovedsakelig av de spesifiserte. Følgende alternativer støttes av FEILACTION -parameteren:

  • Fortsette: Dette alternativet viser feilen og fortsetter utførelsen.
  • Overse: Som navnet antyder, vil det fortsette utførelsen uten å vise noen feil.
  • Spørre: Dette alternativet ber brukeren om bekreftelse på at handlingen skal ta.
  • SilentContinue: Dette alternativet rapporterer ingen feil og vil fortsette utførelsen.
  • Stoppe: Denne handlingen stopper utførelsen etter å ha møtt en feil.
  • Utsette: Dette alternativet refererer bare til arbeidsflytene til PowerShell. Når det oppstår en feil, lar dette alternativet deg gjenoppta arbeidet der feilen oppstod.

Hvordan bruke erroraksjon i PowerShell

Denne delen viser bruken av feilaksjonsparameteren i PowerShell:

Bruker fortsett med feilaksjon

Som nevnt tidligere, Fortsette Alternativet er en standardverdi for feilaktikkvariabelen, og hvis den sendes med feilaksjonsparameteren, vil den returnere den samme feilen. Vi har implementert følgende to kommandoer:

  1. Første kommando utføres uten feilaksjonsparameteren
  2. Den samme kommandoen utføres med fortsettelsesalternativet til feilaksjonsparameteren.

Overkommandoer er dessuten sammen med en cmdlet med skrivetett for bedre forståelse av alternativet Fortsettes når det fortsetter utførelsen etter å ha kastet en feil.

Begge kommandoene returnerer den samme utgangen fordi standardverdien til errorActionPreference er fortsett, og dermed har fortsettelsesalternativet til feilaksjonsparameteren ingen innvirkning på feilvirkningsvariabelen.

> CD D: \; Skriv-vert "henrettelse fortsatte!!""
> CD D: \ -erroraction fortsetter; Skriv-vert "henrettelse fortsatte!!""

Bruke forhør med feilaksjon

Som navnet på alternativet leder, spør det spørringsalternativet deg hva du skal gjøre med kommandoen. Kommandoen skrevet nedenfor utfører det spørringsalternativet med Feilaksjonsparameteren.

> CD D: \ -erroraction spør; Skriv-vert "henrettelse fortsatte!!""

Vi må velge handlingen fra følgende:

Trykk Y for ja: Denne handlingen vil fortsette deg til utførelsen av kommandoen:

Trykk A for ja til alle: trykk A for å ha samme handling som ja.

Trykk på H for HALT-kommando: Ved å treffe H vil ikke kommandoen bli utført etter en feil og utfører dermed ikke den skrivehostede delen av kommandoen.

Trykk på S for Suspend: Suspending the Command vil ikke resultere i noen handling.

Bruke alternativet Ignorer med feilaksjon

Ignorer -alternativet med feilaksjonen omgår feilen og utfører den andre delen av kommandoen (hvis gitt). For eksempel implementerer kommandoen nedenfor nedenfor "Overse”Alternativ med Erroraksjon Og utgangen viser at bare skrivehost-delen utføres (fordi den er feilfri).

> CD D: \ -erroraction Ignore; Skriv-vert "henrettelse fortsatte!!""

Bruke lydløst sammen med feilaksjon

Alternativet lydløst kan hopper over feilen, og den feilfrie delen av kommandoen er implementert. I den nedenfor-uttalte kommandoen brukes Cmdlet for skrivefeil til å generere en feil og utøves med det lydløst sammenkoblingsalternativet for feilaksjonsparameter.

Det observeres at ignorering av alternativet og lydløst genererer samme utgang. Men SilentContinue rapporterer feilen til $ Feilvariabelen til PowerShell, mens ignorering ikke legger til den feilen til $ Feil.

> Skriv -feil "feil oppstått" -erroraction Silentcontinue; Skriv-vert "henrettelse fortsatte!!""

Bruke stopp med feilaksjon

Stoppalternativet som navnet antyder stopper kommandoen fra utførelse etter å ha møtt en feil. Følgende kommando viser implementering av stoppalternativet med feilaksjon.

> Skriv -feil "feil oppstått" -erroraction stop; Skriv-vert "henrettelse fortsatte!!""

Konklusjon

PowerShell ErrorAction -parameteren tillater håndtering av handlingene hvis det oppstår feil. Som standard opererer PowerShell på Fortsette Alternativ for feilhåndtering. Imidlertid kan feilaksjonsoperatøren brukes til å endre standardalternativet. Denne oppskrivningen forklarer kort bruken av feilaksjon med flere alternativer støttet av denne parameteren. Hvert alternativ har en annen driftsprosedyre, og FEILACTION -parameteren erstatter alternativet med standard (Fortsette) for hver kommando.