Set-Variable
Anger värdet för en variabel. Skapar variabeln om en med det begärda namnet inte finns.
Syntax
Default (Standard)
Set-Variable
    [-Name] <String[]>
    [[-Value] <Object>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Description <String>]
    [-Option <ScopedItemOptions>]
    [-Force]
    [-Visibility <SessionStateEntryVisibility>]
    [-PassThru]
    [-Scope <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Description
Cmdleten Set-Variable tilldelar ett värde till en angiven variabel eller ändrar det aktuella värdet. Om variabeln inte finns skapar cmdleten den.
Exempel
Exempel 1: Ange en variabel och hämta dess värde
Dessa kommandon anger värdet för variabeln $desc till A descriptionoch hämtar sedan värdet för variabeln.
Set-Variable -Name "desc" -Value "A description"
Get-Variable -Name "desc"
Name                           Value
----                           -----
desc                           A description
Exempel 2: Ange en global, skrivskyddad variabel
Det här exemplet skapar en global, skrivskyddad variabel som innehåller alla processer i systemet och visar sedan alla egenskaper för variabeln.
Set-Variable -Name "processes" -Value (Get-Process) -Option Constant -Scope Global -Description "All processes" -PassThru |
    Format-List -Property *
Kommandot använder cmdleten Set-Variable för att skapa variabeln. Den använder parametern PassThru för att skapa ett objekt som representerar den nya variabeln och använder pipelineoperatorn (|) för att skicka objektet till cmdleten Format-List. Den använder parametern Egenskap för Format-List med värdet alla (*) för att visa alla egenskaper för den nyligen skapade variabeln.
Värdet, (Get-Process), omges av parenteser för att säkerställa att det körs innan det lagras i variabeln. Annars innehåller variabeln orden Get-Process.
Exempel 3: Förstå offentliga och privata variabler
Det här exemplet visar hur du ändrar synligheten för en variabel till Private. Den här variabeln kan läsas och ändras av skript med nödvändiga behörigheter, men den är inte synlig för användaren.
New-Variable -Name "counter" -Visibility Public -Value 26
$Counter
26
Get-Variable c*
Name                  Value
----                  -----
Culture               en-US
ConsoleFileName
ConfirmPreference     High
CommandLineParameters {}
Counter               26
Set-Variable -Name "counter" -Visibility Private
Get-Variable c*
Name                  Value
----                  -----
Culture               en-US
ConsoleFileName
ConfirmPreference     High
CommandLineParameters {}
$counter
"Cannot access the variable '$counter' because it is a private variable"
.\use-counter.ps1
#Commands completed successfully.
Det här kommandot visar hur du ändrar synligheten för en variabel till Privat. Den här variabeln kan läsas och ändras av skript med nödvändiga behörigheter, men den är inte synlig för användaren.
Parametrar
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | jfr | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Description
Anger beskrivningen av variabeln.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Exclude
Anger en matris med objekt som den här cmdleten undantar från åtgärden. Värdet för den här parametern kvalificerar parametern Path. Ange ett sökvägselement eller mönster, till exempel *.txt.
Jokertecken tillåts.
Parameteregenskaper
| Typ: | String[] | 
| Standardvärde: | None | 
| Stöder jokertecken: | True | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Force
Gör att du kan skapa en variabel med samma namn som en befintlig skrivskyddad variabel eller ändra värdet för en skrivskyddad variabel.
Som standard kan du skriva över en variabel, såvida inte variabeln har ett alternativvärde på ReadOnly eller Constant. Mer information finns i parametern Alternativ.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Include
Anger en matris med objekt som den här cmdleten innehåller i åtgärden. Värdet för den här parametern kvalificerar parametern Name. Ange ett namn- eller namnmönster, till exempel c*. Jokertecken tillåts.
Parameteregenskaper
| Typ: | String[] | 
| Standardvärde: | None | 
| Stöder jokertecken: | True | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Name
Anger variabelnamnet.
Parameteregenskaper
| Typ: | String[] | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | 0 | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | True | 
| Värde från återstående argument: | False | 
-Option
Anger värdet för egenskapen Alternativ för variabeln.
Giltiga värden är:
- 
              None: Anger inga alternativ. (Noneär standard.)
- 
              ReadOnly: Kan tas bort. Det går inte att ändra, förutom med hjälp av force-parametern.
- 
              Constant: Det går inte att ta bort eller ändra.Constantär endast giltigt när du skapar en variabel. Du kan inte ändra alternativen för en befintlig variabel tillConstant.
- 
              Private: Variabeln är endast tillgänglig i det aktuella omfånget.
- 
              AllScope: Variabeln kopieras till alla nya omfång som skapas.
Dessa värden definieras som en flaggbaserad uppräkning. Du kan kombinera flera värden för att ange flera flaggor med hjälp av den här parametern. Värdena kan skickas till parametern Alternativ som en matris med värden eller som en kommaavgränsad sträng av dessa värden. Cmdleten kombinerar värdena med hjälp av en binär-OR-åtgärd. Att skicka värden som en matris är det enklaste alternativet och du kan även använda tab-completion på värdena.
Parameteregenskaper
| Typ: | ScopedItemOptions | 
| Standardvärde: | None | 
| Godkända värden: | None, ReadOnly, Constant, Private, AllScope, Unspecified | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-PassThru 
		Returnerar ett objekt som representerar den nya variabeln. Som standard genererar den här cmdleten inga utdata.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Scope
Anger variabelns omfång. De godtagbara värdena för den här parametern är:
- Global
- Local
- Script
- Private
- Ett tal i förhållande till det aktuella omfånget (0 genom antalet omfång, där 0 är det aktuella omfånget och 1 är dess överordnade).
              Local används som standard.
Mer information finns i about_Scopes.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | Local | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Value
Anger värdet för variabeln.
Parameteregenskaper
| Typ: | Object | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | 1 | 
| Obligatorisk: | False | 
| Värde från pipeline: | True | 
| Värde från pipeline efter egenskapsnamn: | True | 
| Värde från återstående argument: | False | 
-Visibility
Avgör om variabeln visas utanför sessionen där den skapades. Den här parametern är utformad för användning i skript och kommandon som ska levereras till andra användare.
Giltiga värden är:
- 
              Public: Variabeln är synlig. (Publicär standard.)
- 
              Private: Variabeln visas inte.
När en variabel är privat visas den inte i listor med variabler, till exempel de som returneras av Get-Variableeller i visning av Variabel: enhet. Kommandon för att läsa eller ändra värdet för en privat variabel returnerar ett fel. Användaren kan dock köra kommandon som använder en privat variabel om kommandona skrevs i sessionen där variabeln definierades.
Parameteregenskaper
| Typ: | SessionStateEntryVisibility | 
| Standardvärde: | Public | 
| Godkända värden: | Public, Private | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-WhatIf 
		Visar vad som skulle hända om kommandot körs. Cmdleten körs inte.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | Wi | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
Object
Du kan skicka ett objekt som representerar värdet för variabeln till den här cmdleten.
Utdata
None
Som standard returnerar den här cmdleten inga utdata.
PSVariable
När du använder parametern PassThru returnerar den här cmdleten ett PSVariable--objekt som representerar den nya eller ändrade variabeln.
Kommentarer
PowerShell innehåller följande alias för Set-Variable:
- Alla plattformar: - set
- sv