Hvordan bruke PowerShell standard parametere for å endre kommandooppførsel

Hvordan bruke PowerShell standard parametere for å endre kommandooppførsel

Mange liker å bruke PowerShell fordi det lar dem gjøre ting som ikke kan gjøres med Windows GUI. Likevel kan det ikke benektes at noen PowerShell-cmdlets kan være litt kjedelige eller kompliserte. Men hva om det var en måte å kunne redigere disse cmdletene og få dem til å "oppføre seg" slik du vil? Tro det eller ei, det er en enkel måte å gjøre det på. Du kan endre oppførselen til cmdleten ved å endre verdiene til PowerShell-standardparameterne. Denne artikkelen vil vise deg hvordan du bruker PowerShells standardparametere for å endre atferden for cmdlet-kommandoer.

Advarsel

Før du setter i gang, er det et par ting du må huske på. Selv om det er praktisk å endre PowerShell-standardparametere og cmdelt-atferd, kan det føre til problemer. Hvis du kjører et skript og det skriptet antar at den modifiserte cmdleten vil oppføre seg på en bestemt måte, kan du få uforutsigbare resultater. Derfor bør du sørge for å endre PowerShell standardparametere nøye.

Rask gjennomgang

Det er to PowerShell-konsepter du må være kjent med for å kunne jobbe med standardparametere. Det første konseptet er variabelt. I PowerShell starter variabelnavn alltid med et dollartegn, og du kan skrive innholdet i en variabel ved å skrive inn variabelnavnet.

Det andre konseptet du kanskje er kjent med er hashtabellen. En hash-tabell er i hovedsak en liste som består av nøkkel/verdi-par. Anta for eksempel at du vil lage en hash-tabell som inneholder navnene på amerikanske stater og deres forkortelser. Nedenfor er koden:

$StateList = @{}
$StateList.add('Florida','FL')
$StateList.add('South Carolina','SC')
$StateList.add('Georgia','GA')
$StateList

Den første linjen med kode oppretter en tom hash-tabell kalt $StateList . De neste tre linjene legger til oppføringer i tabellen. Hver oppføring består av en nøkkel (statnavn) og en verdi (statsforkortelse). Den siste linjen viser tabellens innhold. Du kan se koden i aksjon på bildet nedenfor.

Dette er bare et veldig enkelt eksempel og det er mange andre måter å bruke hashtabeller på.

Arbeid med PowerShell standard parametere

PowerShell har en innebygd variabel som brukes til å lagre standardparametere som brukes med cmdletene. Denne variabelen kalles $PSDefaultParameterValues . Som du kanskje har lagt merke til fra den første introduksjonen og navnet på variabelen, er dette ikke en vanlig variabel, men en hash-tabell. Men hvis du skriver inn variabelnavnet i PowerShell, vil du raskt se at tabellen er tom, som vist nedenfor.

Hvordan bruke PowerShell standard parametere for å endre kommandooppførsel

Så hva kan vi gjøre med denne $PSDefaultParameterValues -variabelen . Som nevnt ovenfor kan du kontrollere oppførselen til PowerShell-cmdlets. Det eneste poenget er at du ikke kan overvinne de iboende egenskapene til cmdlet-kommandoen. Så la oss se på et eksempel.

Dette eksemplet er kanskje ikke noe du vil bruke i det virkelige liv, men det vil vise deg hvor enkelt det er å endre cmdlet-atferd radikalt. Hvis du skriver inn Get-TimeZone- cmdleten i PowerShell, vil du se navnet på tidssonen din PC er konfigurert til å bruke. Du kan se dette eksemplet i bildet nedenfor.

Hvordan bruke PowerShell standard parametere for å endre kommandooppførsel

Nå endrer vi denne cmdleten slik at den ikke viser tidssonen systemet er konfigurert til å bruke, men i stedet tilgjengelige tidssoner. For å gjøre dette trenger vi cmdlet-syntaks ved å bruke Get-Help -cmdleten etterfulgt av Get-TimeZone- cmdleten . Du kan se syntaksen til cmdleten nedenfor.

Hvordan bruke PowerShell standard parametere for å endre kommandooppførsel

Denne syntaksen inkluderer en parameter kalt ListAvailable . Skriv inn kommandoen nedenfor:

$PSDefaultParameterValues.Add(“Get-TimeZone:ListAvailable”,$True)

Den første delen av denne kommandoen forteller ganske enkelt PowerShell at du vil legge til en verdi til hash-tabellen, akkurat som vi gjorde med det amerikanske forkortelseseksemplet i forrige seksjon. Denne hashtabellen inneholder et nøkkel/verdi-par. I dette tilfellet er nøkkelen cmdlet-navnet (Get-TimeZone) etterfulgt av et komma og navnet på parameteren du vil angi. I dette tilfellet er parameternavnet ListAvailable. Den andre delen av denne cmdleten er verdien du vil tilordne parameteren. Her er det $True . ListAvailable-parameteren trenger vanligvis ikke en verdi, så å spesifisere $True er hvordan du forteller PowerShell å bruke denne parameteren uten å tilordne en verdi til den.

Hvis du ser på bildet nedenfor, vil du se hva som skjer når du kjører Get-TimeZone cmdlet.

Hvordan bruke PowerShell standard parametere for å endre kommandooppførsel

Ting å huske på

Det viktigste å forstå er at å legge til en ny verdi for en PowerShell-standardparameter er å endre standardoppførselen til cmdleten, ikke fjerne funksjonene til cmdleten. Selv når du endrer Get-TimeZone-cmdleten til å vise tilgjengelige tidssoner i stedet for å vise gjeldende tidssone. Du kan fortsatt vise gjeldende tidssoneinformasjon hvis du ser mer.

En annen ting du trenger å vite er at egendefinerte standardparametere kan fjernes. For å fjerne et enkelt element, bruk kommandoen $PSDefaultParameterValues.Remove , etterfulgt av navnet på elementet du vil fjerne. For eksempel:

$PSDefaultParameterValues.Remove(“Get-TimeZone:ListAvailable”)

I stedet kan du slette hele innholdet i hashtabellen ved å bruke denne kommandoen:

$PSDefaultParameterValues.Clear();

Du kan se eksempler på begge teknikkene nedenfor:

Hvordan bruke PowerShell standard parametere for å endre kommandooppførsel

Du kan slette hele hashtabellen eller slette en enkelt oppføring.

Å endre standardoppførselen til en cmdlet-kommando er noe du ikke ofte gjør, men når du trenger det, vet du allerede hvordan du endrer det.

Ønsker deg suksess!

Se mer:


Slik fikser du Du har ikke tillatelse til å lagre på denne plasseringen på Windows

Slik fikser du Du har ikke tillatelse til å lagre på denne plasseringen på Windows

Når Windows viser feilen "Du har ikke tillatelse til å lagre på denne plasseringen", vil dette forhindre deg i å lagre filer i ønskede mapper.

Topp beste gratis og betalte Syslog Server-programvare for Windows

Topp beste gratis og betalte Syslog Server-programvare for Windows

Syslog Server er en viktig del av en IT-administrators arsenal, spesielt når det gjelder å administrere hendelseslogger på et sentralisert sted.

Hva er Error 524 A Timeout Oppstod og hvordan fikse feilen

Hva er Error 524 A Timeout Oppstod og hvordan fikse feilen

Feil 524: En tidsavbrudd oppstod er en Cloudflare-spesifikk HTTP-statuskode som indikerer at tilkoblingen til serveren ble stengt på grunn av et tidsavbrudd.

Hva er feil 0x80070570? Hvordan fikser jeg denne feilen?

Hva er feil 0x80070570? Hvordan fikser jeg denne feilen?

Feilkode 0x80070570 er en vanlig feilmelding på datamaskiner, bærbare datamaskiner og nettbrett som kjører operativsystemet Windows 10. Den vises imidlertid også på datamaskiner som kjører Windows 8.1, Windows 8, Windows 7 eller tidligere.

Instruksjoner for å fikse blåskjerm-feilen SIDEFEIL I IKKE PAGET OMRÅDE eller STOPP 0x00000050

Instruksjoner for å fikse blåskjerm-feilen SIDEFEIL I IKKE PAGET OMRÅDE eller STOPP 0x00000050

Blue screen of death-feil BSOD PAGE_FAULT_IN_NONPAGED_AREA eller STOP 0x00000050 er en feil som ofte oppstår etter installasjon av en maskinvareenhetsdriver, eller etter installasjon eller oppdatering av ny programvare, og i noen tilfeller er årsaken at feilen skyldes en korrupt NTFS-partisjon.

Hva skal du gjøre når du får Video Scheduler Intern Error?

Hva skal du gjøre når du får Video Scheduler Intern Error?

Video Scheduler Intern Error er også en dødelig blåskjermfeil, denne feilen oppstår ofte på Windows 10 og Windows 8.1. Denne artikkelen vil vise deg noen måter å fikse denne feilen på.

Hvordan forhindre at Epic Launcher starter med Windows

Hvordan forhindre at Epic Launcher starter med Windows

For å få Windows 10 til å starte opp raskere og redusere oppstartstiden, nedenfor er trinnene du må følge for å fjerne Epic fra Windows Startup og forhindre at Epic Launcher starter med Windows 10.

3 bedre måter å lagre filer på skrivebordet

3 bedre måter å lagre filer på skrivebordet

Du bør ikke lagre filer på skrivebordet. Det finnes bedre måter å lagre datafiler på og holde skrivebordet ryddig. Den følgende artikkelen vil vise deg mer effektive steder å lagre filer på Windows 10.

Rett opp feilen til lysstyrkeglidebryteren som forsvinner fra oppgavelinjen

Rett opp feilen til lysstyrkeglidebryteren som forsvinner fra oppgavelinjen

Uansett årsak, noen ganger må du justere skjermens lysstyrke for å passe til forskjellige lysforhold og formål. Hvis du trenger å observere detaljene i et bilde eller se en film, må du øke lysstyrken. Omvendt kan det også være lurt å senke lysstyrken for å beskytte batteriet til den bærbare datamaskinen.

9 måter å fikse at Windows-datamaskinen våkner tilfeldig for å se etter oppdateringer

9 måter å fikse at Windows-datamaskinen våkner tilfeldig for å se etter oppdateringer

Våkner datamaskinen din tilfeldig og dukker opp et vindu som sier "Søker etter oppdateringer"? Vanligvis skyldes dette programmet MoUSOCoreWorker.exe - en Microsoft-oppgave som hjelper til med å koordinere installasjonen av Windows-oppdateringer.