Om variabler
- 11/09/2020
- 9 minutter at læse
-
- S
- s
- q
Kort beskrivelse
Beskriver, hvordan variabler gemmer værdier, der kan bruges i PowerShell.
Lang beskrivelse
Du kan gemme alle typer værdier i PowerShell-variabler. Gem f.eks. Resultaterne af kommandoer og gem element, der bruges i kommandoer og udtryk, såsom navne, stier, indstillinger og værdier.
En variabel er en hukommelsesenhed, hvor værdierne er gemt. I PowerShell er variabler repræsenteret af tekststrenge, der begynder med et dollartegn ($
), såsom $a
, $process
eller $my_var
.
Variabelnavne er ikke store og små bogstaver og kan omfatte mellemrum og specialtegn. Men variable navne, der inkluderer specialtegn og mellemrum, der er svære at bruge og bør undgås. For flere oplysninger, seVariable navne, der indeholder specialtegn.
Der er flere forskellige typer variabler i PowerShell.
-
Brugeroprettede variabler: Brugeroprettede variabler oprettes og vedligeholdes af brugeren. Som standard findes de variabler, du opretter på PowerShell-kommandolinjen, kun mens PowerShell-vinduet er åbent. Når PowerShell-vinduerne er lukket, er variablerne slettet. For at gemme en variabel skal du tilføje den til din PowerShell-profil. Du kan også oprette variabler i scripts med globalt, script eller lokalt omfang.
-
Automatisk va riables: Automatiske variabler gemmer tilstanden til PowerShell. Disse variabler oprettes af PowerShell, og PowerShell ændrer deres værdier som krævet for at opretholde deres nøjagtighed. Brugere kan ikke ændre værdien af disse variabler. F.eks. Gemmer variablen
$PSHOME
stien til PowerShell-installationsmappen.For mere information, en liste og en beskrivelse af de automatiske variabler, se om_Automatic_Variables.
-
Præferencevariabler: Præferencevariabler gemmer brugerpræferencer for PowerShell. Disse variabler er oprettet af PowerShell og er udfyldt tilbageværende værdier. værdier for disse variabler. F.eks. bestemmer variablen
$MaximumHistoryCount
det maksimale antal poster i sessionshistorikken.For mere information, en liste og en beskrivelse af præferencevariablerne, se om_Preference_Variables.
Arbejde med variabler
For at oprette en ny variabel skal du bruge en tildelingserklæring til at tildele en værdi til variablen. behøver ikke at erklære variablen, før du bruger den. Standardværdien af alle variabler er $null
.
For at få en liste over alle variablerne i din PowerShell-session skal du skrive Get-Variable
. Variabelnavne vises uden det foregående dollartegn ($
), der bruges til at henvise til variabler.
For eksempel:
Variabler er nyttige til lagring af resultaterne af kommandoer.
For eksempel:
Til få vist værdien af en variabel, skriv variabelnavnet, efterfulgt af adollar-tegn ($
).
For eksempel:
Sådan ændres værdien til en variabel, tildel variablen en ny værdi.
Følgende eksempler viser værdien af $MyVariable
-variablen, ændrer variabelens værdi og viser derefter den nye værdi.
For at slette værdien af en variabel skal du bruge Clear-Variable
cmdlet eller ændre valget ue til $null
.
Sådan slettes variablen , brug Fjern-variabel eller Fjern-element.
Typer af variabler
Du kan gemme alle typer objekter i en variabel, inklusive heltal, strenge, arrays og hash-tabeller. Og objekter, der repræsenterer processer, tjenester, eventlogs og computere.
PowerShell-variabler er løst skrevet, hvilket betyder, at de ikke er begrænset til en bestemt type objekt. En enkelt variabel kan endda indeholde en samling, eller array, af forskellige objekttyper på samme tid.
Datatypen for en variabel bestemmes af .NET-typerne af variablens værdier. For at se en objekttype af en variabel skal du bruge Get- Medlem.
For eksempel:
Du kan bruge en typeattribut og castnotation for at sikre, at en variabel kun indeholder specifikke objekttyper eller objekter, der kan konverteres til den type.Hvis du forsøger at tildele en værdi af en anden type, forsøger PowerShell at konvertere værdien til dens type. Hvis typen ikke kan konverteres, mislykkes tildelingserklæringen.
Hvis du vil bruge cast-notation, skal du indtaste et typenavn, der er lukket i parentes, før det variablenavn (i venstre side af opgaveerklæringen). Følgende eksempel opretter en $number
variabel, der kun kan indeholde heltal, en $words
variabel, der kun kan indeholde strenge, og en $dates
-variabel, der kun kan indeholde DateTime-objekter.
Brug af variabler i kommandoer og udtryk
Hvis du vil bruge en variabel i en kommando eller et udtryk, skal du skrive variabelnavnet forud for dollartegnet ($
).
Hvis variabelnavnet og dollartegnet ikke er omsluttet af anførselstegn, eller hvis de er omsluttet af dobbelt anførselstegn ("
), t variabelens værdi bruges i kommandoen eller udtrykket.
Hvis variabelnavnet og dollartegnet er lukket i et enkelt anførselstegn ("
), markeres variabelnavnet bruges i udtrykket.
For mere information om brug af anførselstegn i PowerShell, seeabout_Quoting_Rules.
Dette eksempel får værdien af $PROFILE
variabel, som er stien til PowerShell-brugerprofilfilen i PowerShell-konsollen.
I denne eksempel vises to kommandoer, der kan åbne PowerShell-profilen innotepad.exe. Eksemplet med dobbelt citat ("
) markerer bruger variablen “svalue.
De følgende eksempler bruger enkelt-citat ("
) markerer, der behandler variablen som tekst.
Variabelnavne, der indeholder specialtegn
Variabelnavne begynder med en dollar ( $
) tegn og kan omfatte alfanumeriske tegn og specialtegn. Variabelnavnet er kun begrænset af tilgængelig hukommelse.
Den bedste praksis er, at variabelnavne kun inkluderer alfanumeriske tegn understregningstegnet (_
). Variablenavne, der inkluderer mellemrum og andre specialtegn, er vanskelige at bruge og bør undgås.
Alfanumeriske variabelnavne kan indeholde disse tegn :
- Unicode-tegn fra disse kategorier: Lu, Ll, Lt, Lm, L o eller Nd.
- Understreg (
_
) tegn. - Spørgsmålstegn (
?
) tegn.
Følgende liste indeholder beskrivelserne af Unicode-kategorien. For mere information, se UnicodeCategory.
- Lu – store bogstaver
- Ll – små bogstaver
- Lt – TitlecaseLetter
- Lm – ModifierLetter
- Lo – OtherLetter
- Nd – DecimalDigitNumber
For at oprette eller vise et variabelnavn, der inkluderer mellemrum eller specialtegn, skal du omslutte variabelnavnet med det krøllede seler ({}
) tegn. De krøllede seler dirigerer PowerShell til at fortolke variabelnavns tegn som bogstaver.
Navne på specielle tegnvariabler kan indeholde disse tegn:
F.eks. opretter den følgende kommando variablen med navnet save-items
. De korrekte parenteser ({}
) er nødvendige, fordi variabelnavnet inkluderer en bindestreg (-
) specialtegn.
Den følgende kommando henter de underordnede elementer i biblioteket, der er repræsenteret af ProgramFiles(x86)
enviro nmentvariabel.
Hvis du vil henvise til et variabelnavn, der inkluderer parenteser, skal du vedlægge variabelnavnet parenteser og bruge backtick-tegnet til at slippe for parenteserne. For eksempel skal du oprette en variabel med navnet this{value}is
type:
Variabler og omfang
Som standard er variabler kun tilgængelige i det omfang, hvori de “oprettes.
En variabel, som du opretter i en funktion, er f.eks. kun tilgængelig inden for funktionen. En variabel, som du opretter i et script, er kun tilgængelig inden for scriptet. Hvis du dot-source til scriptet, tilføjes variablen til currentscope. For mere information, se om_Scopes.
Du kan bruge et omfangsmodifikator for at ændre standardomfanget for variablen. Følgende udtryk opretter en variabel med navnet Computers
. Variablen har aglobalt omfang, selv når den er oprettet i et script eller en funktion.
For ethvert script eller kommando, der udføres uden for sessionen, skal du bruge Using
omfangsmodifikator for at integrere variablen værdier fra opkaldssessionens omfang, så uden for sessionskoden kan få adgang til dem.
For mere information, se om_Remote_Variables.
Gemme variabler
Variabler, du opretter er kun tilgængelige i den session, hvor du opretter dem. De går tabt, når du lukker din session.
Hvis du vil oprette variablen i hver PowerShell-session, du starter, skal du føje variablen til din PowerShell-profil.
For eksempel for at ændre værdien af $VerbosePreference
variablen i hverPowerShell-session, skal du føje følgende kommando til din PowerShell-profil.
Du kan tilføje denne kommando til din PowerShell-profil ved at åbne $PROFILE
-filen i en teksteditor, f.eks. notepad.exe. For mere information om PowerShell-profiler, se about_Profiles.
Variabel: drev
PowerShell Variable-udbyderen opretter et Variable:
-drev, der ligner et filsystemdrev, men det indeholder variablerne i din session og deres værdier.
For at skifte til Variable:
-drevet skal du bruge følgende kommando:
Til liste elementerne og variablerne i Variable:
drevet, brug eller Get-ChildItem
cmdlets.
For at få værdien af en bestemt variabel, brug filsystemnotation til at specificere drevets navn og variabelens navn. For eksempel for at hente $PSCulture
automatisk variabel, skal du bruge følgende kommando.
For at få vist flere oplysninger om Variable:
-drevet og PowerShellVariable-udbyderen skal du skrive:
Variabel syntaks med udbyderstier
Du kan forud for en udbydersti med dollartegnet ($
) og få adgang til indholdet af enhver udbyder, der implementerer IContentCmdletProviderinterface.
Følgende indbyggede PowerShell-udbydere understøtter denne notation:
- about_Environment_Provider
- about_Variable_Provider
- about_Function_Provider
- about_Alias_Provider
De variable cmdlets
PowerShell inkluderer et sæt cmdlets, der er designet til at styre variabler.
For at få vist cmdlets, skriv:
For at få hjælp til en bestemt cmdlet skal du skrive:
Cmdlet-navn | Beskrivelse |
---|---|
Clear-Variable |
Sletter værdien af en variabel. |
Get-Variable |
Henter variablerne i den aktuelle konsol. |
New-Variable |
Opretter en ny variabel. |
Remove-Variable |
Sletter en variabel og dens værdi. |
Set-Variable |
Ændrer værdien af en variabel. |
Se også
om_Automatic_Variables
om_Environment_Variables