Sådan bruges PowerShell-standardparametre til at ændre kommandoadfærd

Sådan bruges PowerShell-standardparametre til at ændre kommandoadfærd

Mange mennesker kan lide at bruge PowerShell , fordi det giver dem mulighed for at gøre ting, der ikke kan gøres med Windows GUI. Alligevel kan der ikke benægtes, at nogle PowerShell-cmdlets kan være lidt kedelige eller komplicerede. Men hvad hvis der var en måde at kunne redigere disse cmdlets og få dem til at "opføre sig" som du vil? Tro det eller ej, der er en nem måde at gøre det på. Du kan ændre adfærden for cmdlet'en ved at ændre værdierne for PowerShell-standardparametrene. Denne artikel viser dig, hvordan du bruger PowerShells standardparametre til at ændre cmdlet-kommandoadfærd.

Advarsel

Inden du går i gang, er der et par ting, du skal huske på. Selvom det er praktisk at ændre PowerShell-standardparametre og cmdelt-adfærd, kan det føre til problemer. Hvis du kører et script, og det script antager, at den ændrede cmdlet vil opføre sig på en bestemt måde, kan du få uforudsigelige resultater. Derfor bør du sørge for at ændre PowerShell standardparametre omhyggeligt.

Hurtig gennemgang

Der er to PowerShell-koncepter, som du skal være bekendt med for at kunne arbejde med standardparametre. Det første koncept er variabelt. I PowerShell starter variabelnavne altid med et dollartegn, og du kan skrive indholdet af en variabel ved at skrive variabelnavnet.

Det andet koncept, du måske er bekendt med, er hash-tabellen. En hash-tabel er i bund og grund en liste, der består af nøgle/værdi-par. Antag for eksempel, at du vil oprette en hash-tabel, der indeholder 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 kodelinje opretter en tom hash-tabel kaldet $StateList . De næste tre linjer tilføjer poster til tabellen. Hver indgang består af en nøgle (tilstandsnavn) og en værdi (tilstandsforkortelse). Den sidste linje viser tabellens indhold. Du kan se koden i aktion på billedet nedenfor.

Dette er blot et meget simpelt eksempel, og der er mange andre måder at bruge hashtabeller på.

Arbejd med PowerShell standardparametre

PowerShell har en indbygget variabel, der bruges til at gemme standardparametre, der bruges med dets cmdlet'er. Denne variabel kaldes $PSDefaultParameterValues . Som du måske har bemærket fra den indledende introduktion og navnet på variablen, er dette ikke en almindelig variabel, men en hash-tabel. Men hvis du indtaster variabelnavnet i PowerShell, vil du hurtigt se, at tabellen er tom, som vist nedenfor.

Sådan bruges PowerShell-standardparametre til at ændre kommandoadfærd

Så hvad kan vi gøre med denne $PSDefaultParameterValues -variabel . Som nævnt ovenfor kan du kontrollere adfærden for PowerShell cmdlets. Det eneste punkt er, at du ikke kan overvinde de iboende muligheder i cmdlet-kommandoen. Så lad os se på et eksempel.

Dette eksempel er måske ikke noget, du vil bruge i det virkelige liv, men det vil vise dig, hvor nemt det er at ændre cmdlet-adfærd radikalt. Hvis du indtaster Get-TimeZone cmdlet'en i PowerShell, vil du se navnet på den tidszone, din pc i øjeblikket er konfigureret til at bruge. Du kan se dette eksempel på billedet nedenfor.

Sådan bruges PowerShell-standardparametre til at ændre kommandoadfærd

Nu ændrer vi denne cmdlet, så den ikke viser den tidszone systemet er konfigureret til at bruge, men derimod de tilgængelige tidszoner. For at gøre dette har vi brug for cmdlet-syntaks ved hjælp af Get-Help cmdlet'en efterfulgt af Get-TimeZone cmdlet'en . Du kan se syntaksen for cmdlet'en nedenfor.

Sådan bruges PowerShell-standardparametre til at ændre kommandoadfærd

Denne syntaks inkluderer en parameter kaldet ListAvailable . Indtast kommandoen nedenfor:

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

Den første del af denne kommando fortæller ganske enkelt PowerShell, at du vil tilføje en værdi til hash-tabellen, ligesom vi gjorde med det amerikanske forkortelseseksempel i det foregående afsnit. Denne hash-tabel indeholder et nøgle/værdi-par. I dette tilfælde er nøglen cmdlet-navnet (Get-TimeZone) efterfulgt af et komma og navnet på den parameter, du vil indstille. I dette tilfælde er parameternavnet ListAvailable. Den anden del af denne cmdlet er den værdi, du vil tildele parameteren. Her er det $True . ListAvailable-parameteren behøver normalt ikke en værdi, så at angive $True er, hvordan du fortæller PowerShell at bruge denne parameter uden at tildele den en værdi.

Hvis du ser på billedet nedenfor, vil du se, hvad der sker, når du kører Get-TimeZone cmdlet'en.

Sådan bruges PowerShell-standardparametre til at ændre kommandoadfærd

Ting at huske på

Det vigtigste at forstå er, at tilføjelse af en ny værdi for en PowerShell-standardparameter er at ændre standardadfærden for cmdlet'en, ikke at fjerne cmdlet'ens muligheder. Selv når du ændrer Get-TimeZone-cmdlet'en til at vise tilgængelige tidszoner i stedet for at vise den aktuelle tidszone. Du kan stadig få vist de aktuelle tidszoneoplysninger, hvis du ser flere.

En anden ting, du skal vide, er, at brugerdefinerede standardparametre kan fjernes. For at fjerne et enkelt element skal du bruge kommandoen $PSDefaultParameterValues.Remove , efterfulgt af navnet på det element, du vil fjerne. For eksempel:

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

I stedet kan du slette hele indholdet af hash-tabellen ved hjælp af denne kommando:

$PSDefaultParameterValues.Clear();

Du kan se eksempler på begge teknikker nedenfor:

Sådan bruges PowerShell-standardparametre til at ændre kommandoadfærd

Du kan slette hele hash-tabellen eller slette en enkelt post.

At ændre standardadfærden for en cmdlet-kommando er noget, du ikke ofte gør, men når du har brug for det, ved du allerede, hvordan du ændrer det.

Ønsker dig succes!

Se mere:


Sådan repareres Du har ikke tilladelse til at gemme på denne placering på Windows

Sådan repareres Du har ikke tilladelse til at gemme på denne placering på Windows

Når Windows viser fejlen "Du har ikke tilladelse til at gemme på denne placering", vil dette forhindre dig i at gemme filer i ønskede mapper.

Top bedste gratis og betalte Syslog Server-software til Windows

Top bedste gratis og betalte Syslog Server-software til Windows

Syslog Server er en vigtig del af en IT-administrators arsenal, især når det kommer til at administrere hændelseslogfiler på en central placering.

Hvad er fejl 524 Der opstod en timeout, og hvordan rettes fejlen

Hvad er fejl 524 Der opstod en timeout, og hvordan rettes fejlen

Fejl 524: En timeout opstod er en Cloudflare-specifik HTTP-statuskode, der angiver, at forbindelsen til serveren blev lukket på grund af en timeout.

Hvad er fejl 0x80070570? Hvordan rettes denne fejl?

Hvad er fejl 0x80070570? Hvordan rettes denne fejl?

Fejlkode 0x80070570 er en almindelig fejlmeddelelse på computere, bærbare computere og tablets, der kører operativsystemet Windows 10. Den vises dog også på computere, der kører Windows 8.1, Windows 8, Windows 7 eller tidligere.

Instruktioner til at rette den blå skærm-fejl SIDEFEJL I IKKE PAGET OMRÅDE eller STOP 0x00000050

Instruktioner til at rette den blå skærm-fejl SIDEFEJL I IKKE PAGET OMRÅDE eller STOP 0x00000050

Blue screen of death fejl BSOD PAGE_FAULT_IN_NONPAGED_AREA eller STOP 0x00000050 er en fejl, der ofte opstår efter installation af en hardwareenhedsdriver eller efter installation eller opdatering af en ny software, og i nogle tilfælde skyldes årsagen, at fejlen skyldes en korrupt NTFS-partition.

Hvad skal du gøre, når du får Video Scheduler Intern Error?

Hvad skal du gøre, når du får Video Scheduler Intern Error?

Video Scheduler Internal Error er også en dødbringende blå skærm-fejl, denne fejl opstår ofte på Windows 10 og Windows 8.1. Denne artikel vil vise dig nogle måder at rette denne fejl på.

Sådan forhindrer du Epic Launcher i at starte med Windows

Sådan forhindrer du Epic Launcher i at starte med Windows

For at få Windows 10 til at starte hurtigere og reducere opstartstiden er nedenstående trin, du skal følge for at fjerne Epic fra Windows Startup og forhindre Epic Launcher i at starte med Windows 10.

3 bedre måder at gemme filer på skrivebordet

3 bedre måder at gemme filer på skrivebordet

Du bør ikke gemme filer på skrivebordet. Der er bedre måder at gemme computerfiler og holde dit skrivebord ryddeligt. Den følgende artikel viser dig mere effektive steder at gemme filer på Windows 10.

Ret fejlen i lysstyrkeskyderen, der forsvinder fra proceslinjen

Ret fejlen i lysstyrkeskyderen, der forsvinder fra proceslinjen

Uanset årsagen, bliver du nogle gange nødt til at justere skærmens lysstyrke, så den passer til forskellige lysforhold og formål. Hvis du har brug for at observere detaljerne i et billede eller se en film, skal du øge lysstyrken. Omvendt vil du måske også sænke lysstyrken for at beskytte din bærbare computers batteri.

9 måder at rette op på, at Windows-computer vågner tilfældigt op for at søge efter opdateringer

9 måder at rette op på, at Windows-computer vågner tilfældigt op for at søge efter opdateringer

Vågner din computer tilfældigt og dukker et vindue op, hvor der står "Søger efter opdateringer"? Normalt skyldes dette programmet MoUSOCoreWorker.exe - en Microsoft-opgave, der hjælper med at koordinere installationen af ​​Windows-opdateringer.