Om variabler (Svenska)
- 20/9/2020
- 9 minuter att läsa
-
- S
- s
- q
Kort beskrivning
Beskriver hur variabler lagrar värden som kan användas i PowerShell.
Lång beskrivning
Du kan lagra alla typer av värden i PowerShell-variabler. Lagra till exempel resultaten av kommandon och lagra element som används i kommandon och uttryck, såsom namn, sökvägar, inställningar och värden.
En variabel är en minnesenhet där värden lagras. I PowerShell representeras variabler av textsträngar som börjar med ett dollartecken ($
), till exempel $a
, $process
eller $my_var
.
Variabla namn är inte skiftlägeskänsliga och kan innehålla mellanslag och specialtecken. Men variabla namn som inkludera specialtecken och mellanslag som är svåra att använda och bör undvikas. Mer information finns i Variabla namn som innehåller specialtecken.
Det finns flera olika typer av variabler i PowerShell.
-
Användarskapade variabler: Användarskapade variabler skapas och underhålls av användaren. Som standard finns variablerna som du skapar i PowerShell-kommandoraden endast medan PowerShell-fönstret är öppet. När PowerShell-fönstren är stängda är variablerna raderad. Lägg till den i din PowerShell-profil för att spara en variabel. Du kan också skapa variabler i skript med globalt, skript eller lokalt omfång.
-
Automatisk va riables: Automatiska variabler lagrar PowerShell-tillståndet. Dessa variabler skapas av PowerShell och PowerShell ändrar sina värden som krävs för att bibehålla deras noggrannhet. Användare kan inte ändra värdet på dessa variabler. Till exempel, variabeln
$PSHOME
lagrar sökvägen till PowerShell-installationskatalogen.För mer information, en lista och en beskrivning av de automatiska variablerna, se about_Automatic_Variables.
-
Preferensvariabler: Preferensvariabler lagrar användarinställningar för PowerShell. Dessa variabler skapas av PowerShell och fylls i återtagningsvärden. värden för dessa variabler. Till exempel bestämmer variabeln
$MaximumHistoryCount
det maximala antalet poster i sessionshistoriken.För mer information, en lista och en beskrivning av preferensvariablerna, se about_Preference_Variables.
Arbeta med variabler
För att skapa en ny variabel, använd ett tilldelningsuttal för att tilldela ett värde till variabel. behöver inte deklarera variabeln innan du använder den. Standardvärdet för alla variabler är $null
.
För att få en lista över alla variabler i din PowerShell-session, skriv Get-Variable
. Variabelnamnen visas utan föregående dollartecken ($
) som används för att referera till variabler.
Till exempel:
Variabler är användbara för att lagra resultaten av kommandon.
Till exempel:
Till visa värdet på en variabel, skriv variabelnamnet, föregånget av adollar-tecken ($
).
Till exempel:
För att ändra värdet tilldela variabeln ett nytt värde.
Följande exempel visar värdet för $MyVariable
variabeln, ändrar variabelns värde och visar sedan det nya värdet.
För att radera värdet på en variabel, använd Clear-Variable
cmdlet eller ändra val ue till $null
.
Ta bort variabeln , använd Ta bort-variabel eller Ta bort-objekt.
Variantstyper
Du kan lagra alla typer av objekt i en variabel, inklusive heltal, strängar, matriser och hashtabeller. Och objekt som representerar processer, tjänster, eventloggar och datorer.
PowerShell-variabler skrivs löst, vilket innebär att de inte är begränsade till en viss typ av objekt. En enda variabel kan till och med innehålla en samling, eller array, av olika typer av objekt samtidigt.
Datatypen för en variabel bestäms av .NET-typerna av värdena för variabeln. För att se en variabelns objekttyp, använd Get- Medlem.
Till exempel:
Du kan använda ett typattribut och cast-notering för att säkerställa att en variabel endast innehåller specifika objekttyper eller objekt som kan konverteras till den typen.Om du försöker tilldela ett värde av en annan typ försöker PowerShell konvertera värdet till dess typ. Om typen inte kan konverteras misslyckas tilldelningsuttalandet.
För att använda cast-notering, ange ett typnamn, inom parentes, före det ändrade namnet (till vänster om tilldelningsuttalandet). Följande exempel skapar en $number
-variabel som endast kan innehålla heltal, en $words
-variabel som endast kan innehålla strängar och en $dates
-variabel som endast kan innehålla DateTime-objekt.
Använd variabler i kommandon och uttryck
För att använda en variabel i ett kommando eller uttryck, skriv variabelnamnet, föregångt dollartecknet ($
).
Om variabelnamnet och dollartecknet inte är inneslutna i citattecken, eller om de är inneslutna i dubbla citattecken ("
), t variabelns värde används i kommandot eller uttrycket.
Om variabelnamnet och dollartecknet är inneslutna i enstaka citattecken ("
) markeras variabelnamnet används i uttrycket.
För mer information om att använda citattecken i PowerShell, seeabout_Quoting_Rules.
Detta exempel får värdet av $PROFILE
variabel, vilket är sökvägen till PowerShell-användarprofilfilen i PowerShell-konsolen.
I detta exempel visas två kommandon som kan öppna PowerShell-profilen innotepad.exe. Exemplet med dubbelt citat ("
) markerar använder variabeln ”svalue.
Följande exempel använder enstaka citat ("
) markerar som behandlar variabeln som text.
Variabla namn som innehåller specialtecken
Variabla namn börjar med en dollar ( $
) undertecknar och kan innehålla alfanumeriska tecken och specialtecken. Variabelnamnets längd begränsas endast av tillgängligt minne.
Den bästa metoden är att variabelnamn endast innehåller alfanumeriska tecken och understryketecken (_
). Variabla namn som innehåller mellanslag och andra specialtecken är svåra att använda och bör undvikas.
Alfanumeriska variabelnamn kan innehålla dessa tecken :
- Unicode-tecken från dessa kategorier: Lu, Ll, Lt, Lm, L o eller Nd.
- Understreck (
_
) karaktär. - Frågetecken (
?
) karaktär.
Följande lista innehåller Unicode-kategoribeskrivningarna. Mer information finns i UnicodeCategory.
- Lu – stora bokstäver
- Ll – små bokstäver
- Lt – TitlecaseLetter
- Lm – ModifierLetter
- Lo – OtherLetter
- Nd – DecimalDigitNumber
För att skapa eller visa ett variabelnamn som innehåller mellanslag eller specialtecken, bifoga variabelnamnet med den lockiga hakparenteser ({}
) tecken. De lockiga hakparenteserna styr PowerShell för att tolka variabelns namn som bokstäver.
Namn på specialteckenvariabler kan innehålla följande tecken:
Till exempel skapar följande kommando variabeln med namnet save-items
. Det behövs rätt klammerparenteser ({}
) ett bindestreck (-
) specialtecken.
Följande kommando hämtar underordnade objekt i katalogen som representeras av ProgramFiles(x86)
miljö nmentvariabel.
För att hänvisa till ett variabelnamn som innehåller parenteser, bifoga variabelnamnet inom parenteser och använd backtick-tecknet för att undkomma parenteserna. Skapa till exempel en variabel med namnet this{value}is
typ:
Variabler och omfång
Som standard är variabler bara tillgängliga i det omfång de skapas i.
Till exempel är en variabel som du skapar i en funktion endast tillgänglig inom variabeln. En variabel som du skapar i ett skript är endast tillgänglig inom skriptet. Om du skildrar skriptet läggs variabeln till i strömskyddet. Mer information finns i_Skop.
Du kan använda en omfångsmodifierare för att ändra standardvarianten för variabeln. Följande uttryck skapar en variabel med namnet Computers
. Variabeln har globalt omfång, även när den skapas i ett skript eller funktion.
För alla skript eller kommandon som körs utanför sessionen behöver du Using
omfångsmodifierare för att bädda in variabel värden från den anropande sessionens omfång så att sessionskoden kan komma åt dem.
Mer information finns om_Remote_Variables.
Spara variabler
Variabler som du skapar är endast tillgängliga under den session där du skapar dem. De går förlorade när du stänger din session.
Om du vill skapa variabeln i varje PowerShell-session som du startar lägger du till variabel i din PowerShell-profil.
Till exempel, för att ändra värdet för variabeln i varjePowerShell-session, lägg till följande kommando i din PowerShell-profil.
Du kan lägga till det här kommandot till din PowerShell-profil genom att öppna $PROFILE
-filen i en textredigerare, till exempel notepad.exe. För mer information om PowerShell-profiler, se about_Profiles.
Variabel: enhet
PowerShell Variable-leverantören skapar en Variable:
-enhet som ser ut som en filsystemenhet, men den innehåller variablerna i din session och deras värden.
För att ändra till Variable:
, använd följande kommando:
Till listan objekten och variablerna i Variable:
-enheten, använd eller Get-ChildItem
cmdlets.
För att få värdet av en viss variabel, använd filsystemnotering för att ange enhetens namn och variabelns namn. Om du till exempel vill hämta $PSCulture
automatisk variabel använder du följande kommando.
För att visa mer information om Variable:
-enheten och PowerShellVariable-leverantören, skriv:
Variabel syntax med leverantörsvägar
Du kan prefixa en leverantörsväg med dollartecknet ($
) och få tillgång till innehållet hos alla leverantörer som implementerar IContentCmdletProviderinterface. / p>
Följande inbyggda PowerShell-leverantörer stöder denna notation:
- about_Environment_Provider
- about_Variable_Provider
- about_Function_Provider
- about_Alias_Provider
De variabla cmdlets
PowerShell innehåller en uppsättning cmdlets som är utformade för att hantera variabler.
För att lista cmdlets, skriv:
För att få hjälp för en specifik cmdlet, skriv:
Cmdlet-namn | Beskrivning |
---|---|
Clear-Variable |
Raderar värdet av en variabel. |
Get-Variable |
Hämtar variablerna i den aktuella konsolen. |
New-Variable |
Skapar en ny variabel. |
Remove-Variable |
Tar bort en variabel och dess värde. |
Set-Variable |
Ändrar värdet på en variabel. |
Se även
about_Automatic_Variables
about_Environment_Variables