Delen via


Set-Variable

Hiermee stelt u de waarde van een variabele in. Hiermee maakt u de variabele als er geen variabele met de aangevraagde naam bestaat.

Syntaxis

Default (Standaard)

Set-Variable
    [-Name] <String[]>
    [[-Value] <Object>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Description <String>]
    [-Option <ScopedItemOptions>]
    [-Force]
    [-Visibility <SessionStateEntryVisibility>]
    [-PassThru]
    [-Scope <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

De Set-Variable-cmdlet wijst een waarde toe aan een opgegeven variabele of wijzigt de huidige waarde. Als de variabele niet bestaat, maakt de cmdlet deze.

Voorbeelden

Voorbeeld 1: Een variabele instellen en de waarde ervan ophalen

Met deze opdrachten stelt u de waarde van de $desc variabele in op A descriptionen haalt u vervolgens de waarde van de variabele op.

Set-Variable -Name "desc" -Value "A description"
Get-Variable -Name "desc"
Name                           Value
----                           -----
desc                           A description

Voorbeeld 2: Een globale variabele met het kenmerk Alleen-lezen instellen

In dit voorbeeld wordt een globale, alleen-lezen variabele gemaakt die alle processen op het systeem bevat en vervolgens alle eigenschappen van de variabele worden weergegeven.

Set-Variable -Name "processes" -Value (Get-Process) -Option Constant -Scope Global -Description "All processes" -PassThru |
    Format-List -Property *

De opdracht maakt gebruik van de Set-Variable cmdlet om de variabele te maken. Hierbij wordt de parameter PassThru gebruikt om een object te maken dat de nieuwe variabele vertegenwoordigt en wordt de pijplijnoperator (|) gebruikt om het object door te geven aan de Format-List-cmdlet. Hierbij wordt de parameter eigenschap van Format-List gebruikt met een waarde van alle (*) om alle eigenschappen van de zojuist gemaakte variabele weer te geven.

De waarde, (Get-Process), wordt tussen haakjes geplaatst om ervoor te zorgen dat deze wordt uitgevoerd voordat deze in de variabele wordt opgeslagen. Anders bevat de variabele de woorden Get-Process.

Voorbeeld 3: Openbare versus privévariabelen begrijpen

In dit voorbeeld ziet u hoe u de zichtbaarheid van een variabele wijzigt in Private. Deze variabele kan worden gelezen en gewijzigd door scripts met de vereiste machtigingen, maar is niet zichtbaar voor de gebruiker.

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.

Deze opdracht laat zien hoe u de zichtbaarheid van een variabele wijzigt in Privé. Deze variabele kan worden gelezen en gewijzigd door scripts met de vereiste machtigingen, maar is niet zichtbaar voor de gebruiker.

Parameters

-Confirm

Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Cf

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Description

Hiermee geeft u de beschrijving van de variabele.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Exclude

Hiermee geeft u een matrix van items op die door deze cmdlet worden uitgesloten van de bewerking. De waarde van deze parameter komt in aanmerking voor de parameter Path. Voer een padelement of patroon in, zoals *.txt. Wildcards zijn toegestaan.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Force

Hiermee kunt u een variabele maken met dezelfde naam als een bestaande alleen-lezenvariabele of de waarde van een alleen-lezenvariabele wijzigen.

Standaard kunt u een variabele overschrijven, tenzij de variabele een optiewaarde van ReadOnly of Constantheeft. Zie de parameter Option voor meer informatie.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Include

Hiermee geeft u een matrix van items op die deze cmdlet in de bewerking bevat. De waarde van deze parameter komt in aanmerking voor de parameter Name. Voer een naam- of naampatroon in, zoals c*. Wildcards zijn toegestaan.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:True
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Name

Hiermee geeft u de naam van de variabele.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Option

Hiermee geeft u de waarde van de eigenschap Options van de variabele.

Geldige waarden zijn:

  • None: hiermee stelt u geen opties in. (None is de standaardinstelling.)
  • ReadOnly: kan worden verwijderd. Kan niet worden gewijzigd, behalve met behulp van de parameter Force.
  • Constant: kan niet worden verwijderd of gewijzigd. Constant is alleen geldig wanneer u een variabele maakt. U kunt de opties van een bestaande variabele niet wijzigen in Constant.
  • Private: de variabele is alleen beschikbaar in het huidige bereik.
  • AllScope: de variabele wordt gekopieerd naar nieuwe bereiken die worden gemaakt.

Deze waarden worden gedefinieerd als een opsomming op basis van vlaggen. U kunt meerdere waarden combineren om meerdere vlaggen in te stellen met behulp van deze parameter. De waarden kunnen worden doorgegeven aan de parameter Option als een matrix met waarden of als een door komma's gescheiden tekenreeks van deze waarden. De cmdlet combineert de waarden met behulp van een binaire OF-bewerking. Het doorgeven van waarden als een matrix is de eenvoudigste optie en u kunt ook tabvoltooiing gebruiken voor de waarden.

Parametereigenschappen

Type:ScopedItemOptions
Default value:None
Geaccepteerde waarden:None, ReadOnly, Constant, Private, AllScope, Unspecified
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-PassThru

Retourneert een object dat de nieuwe variabele vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Scope

Hiermee geeft u het bereik van de variabele. De acceptabele waarden voor deze parameter zijn:

  • Global
  • Local
  • Script
  • Private
  • Een getal ten opzichte van het huidige bereik (0 tot het aantal bereiken, waarbij 0 het huidige bereik is en 1 het bovenliggende bereik is).

Local is de standaardwaarde.

Zie about_Scopesvoor meer informatie.

Parametereigenschappen

Type:String
Default value:Local
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Value

Hiermee geeft u de waarde van de variabele.

Parametereigenschappen

Type:Object
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:1
Verplicht:False
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Visibility

Bepaalt of de variabele zichtbaar is buiten de sessie waarin deze is gemaakt. Deze parameter is ontworpen voor gebruik in scripts en opdrachten die aan andere gebruikers worden geleverd.

Geldige waarden zijn:

  • Public: de variabele is zichtbaar. (Public is de standaardinstelling.)
  • Private: de variabele is niet zichtbaar.

Wanneer een variabele privé is, wordt deze niet weergegeven in lijsten met variabelen, zoals variabelen die worden geretourneerd door Get-Variable, of in weergaven van de Variabele: station. Opdrachten voor het lezen of wijzigen van de waarde van een privévariabele retourneren een fout. De gebruiker kan echter opdrachten uitvoeren die gebruikmaken van een privévariabele als de opdrachten zijn geschreven in de sessie waarin de variabele is gedefinieerd.

Parametereigenschappen

Type:SessionStateEntryVisibility
Default value:Public
Geaccepteerde waarden:Public, Private
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-WhatIf

Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Wi

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

Object

U kunt een object doorsluisen dat de waarde van de variabele aan deze cmdlet vertegenwoordigt.

Uitvoerwaarden

None

Deze cmdlet retourneert standaard geen uitvoer.

PSVariable

Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet een PSVariable-object dat de nieuwe of gewijzigde variabele vertegenwoordigt.

Notities

PowerShell bevat de volgende aliassen voor Set-Variable:

  • Alle platforms:
    • set
    • sv