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:


Hvad er Scareware? Hvordan fjerner man Scareware?

Hvad er Scareware? Hvordan fjerner man Scareware?

Scareware er et ondsindet computerprogram designet til at narre brugere til at tro, at det er et legitimt program og beder dig bruge penge på noget, der ikke gør noget.

Sådan øges internetforbindelseshastigheden med cFosSpeed

Sådan øges internetforbindelseshastigheden med cFosSpeed

cFosSpeed ​​​​er software, der øger internetforbindelseshastigheden, reducerer transmissionsforsinkelse og øger forbindelsesstyrken op til omkring 3 gange. Især for dem, der spiller online spil, vil cFosSpeed ​​​​understøtte, så du kan opleve spillet uden netværksproblemer.

Lær om firewalls, Windows Firewall på Windows Server 2012

Lær om firewalls, Windows Firewall på Windows Server 2012

Windows Firewall med avanceret sikkerhed er en firewall, der kører på Windows Server 2012 og er aktiveret som standard. Firewall-indstillinger i Windows Server 2012 administreres i Windows Firewall Microsoft Management Console.

Sådan ændres Vigor Draytek modem og router login adgangskode

Sådan ændres Vigor Draytek modem og router login adgangskode

Når du ændrer adgangskoden til Vigor Draytek-modem- og router-login-admin-siden, vil brugere begrænse uautoriseret adgang til at ændre modem-adgangskoden, hvilket sikrer vigtige netværksoplysninger.

Sådan overclocker du nemt RAM med AMD Ryzen Master

Sådan overclocker du nemt RAM med AMD Ryzen Master

Heldigvis kan brugere af Windows-computere, der kører AMD Ryzen-processorer, bruge Ryzen Master til nemt at overclocke RAM uden at røre BIOS.

7 måder at rette Windows laptop fejl, der ikke oplades via USB-C

7 måder at rette Windows laptop fejl, der ikke oplades via USB-C

USB-C-porten er blevet standarden for dataoverførsel, videooutput og opladning på moderne Windows-bærbare computere. Selvom dette er praktisk, kan det være frustrerende, når du tilslutter din bærbare computer til en USB-C-oplader, og den ikke oplader.

Sådan rettes fejlen Kan ikke oprette tjeneste på Ultraviewer

Sådan rettes fejlen Kan ikke oprette tjeneste på Ultraviewer

Fejlen Kan ikke oprette tjeneste på Ultraviewer opstår, når vi installerer softwaren med fejlkode 1072.

Sådan rettes fejlen med ikke at vise ID på Ultraviewer

Sådan rettes fejlen med ikke at vise ID på Ultraviewer

Fejlen med ikke at vise ID på Ultraviewer vil påvirke fjerncomputerforbindelsen.

Sådan bruger du Ultraviewer til at sende og modtage filer

Sådan bruger du Ultraviewer til at sende og modtage filer

Ultraviewer fjernstyrer computeren og har en tilstand til at sende og modtage filer.

6 måder at slette filer på Windows permanent

6 måder at slette filer på Windows permanent

Normalt, når du sletter en fil på Windows, slettes filen ikke med det samme, men gemmes i papirkurven. Derefter skal du gøre et trin mere: tøm papirkurven. Men hvis du ikke ønsker at skulle gøre dette andet trin, vil vi vise dig, hvordan du permanent sletter en fil i artiklen nedenfor.