Sdílet prostřednictvím


Set-Variable

Nastaví hodnotu proměnné. Vytvoří proměnnou, pokud neexistuje proměnná s požadovaným názvem.

Syntax

Default (Výchozí)

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

Description

Rutina Set-Variable přiřadí hodnotu zadané proměnné nebo změní aktuální hodnotu. Pokud proměnná neexistuje, rutina ji vytvoří.

Příklady

Příklad 1: Nastavení proměnné a získání její hodnoty

PS C:\> Set-Variable -Name "desc" -Value "A description"
PS C:\> Get-Variable -Name "desc"

Tyto příkazy nastaví hodnotu proměnné desc na popis A a pak získá hodnotu proměnné.

Příklad 2: Nastavení globální proměnné jen pro čtení

PS C:\> Set-Variable -Name "processes" -Value (Get-Process) -Option constant -Scope global -Description "All processes" -PassThru | Format-List -Property *

Tento příkaz vytvoří globální proměnnou jen pro čtení, která obsahuje všechny procesy v systému, a pak zobrazí všechny vlastnosti proměnné.

Příkaz k vytvoření proměnné používá rutinu Set-Variable. Pomocí parametru PassThru vytvoří objekt představující novou proměnnou a pomocí operátoru kanálu (|) předá objekt rutině Format-List. Používá Vlastnost parametr Format-List s hodnotou všech (*) k zobrazení všech vlastností nově vytvořené proměnné.

Hodnota "(Get-Process)" je uzavřena v závorkách, aby se zajistilo, že se spustí před uložením do proměnné. V opačném případě proměnná obsahuje slova "Get-Process".

Příklad 3: Vysvětlení veřejných a privátních proměnných

PS C:\> New-Variable -Name "counter" -Visibility Public -Value 26
PS C:\> $Counter
26
PS C:\> Get-Variable c*

Name                  Value
----                  -----
Culture               en-US
ConsoleFileName
ConfirmPreference     High
CommandLineParameters {}
Counter               26

PS C:\> Set-Variable -Name "counter" -Visibility Private
PS C:\> Get-Variable c*

Name                  Value
----                  -----
Culture               en-US
ConsoleFileName
ConfirmPreference     High
CommandLineParameters {}

 PS C:\> $counter
"Cannot access the variable '$counter' because it is a private variable"

PS C:\> .\use-counter.ps1
#Commands completed successfully.

Tento příkaz ukazuje, jak změnit viditelnost proměnné na Privátní. Tuto proměnnou lze číst a měnit skripty s požadovanými oprávněními, ale uživatel ji nevidí.

Ukázkový výstup ukazuje rozdíl v chování veřejných a privátních proměnných.

Parametry

-Confirm

Před spuštěním cmdletu vás vyzve k potvrzení.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:viz

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Description

Určuje popis proměnné.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Exclude

Určuje pole položek, které tato rutina z operace vylučuje. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například *.txt. Jsou povoleny zástupné symboly.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:True
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Force

Umožňuje vytvořit proměnnou se stejným názvem jako existující proměnnou jen pro čtení nebo změnit hodnotu proměnné jen pro čtení.

Ve výchozím nastavení můžete přepsat proměnnou, pokud proměnná nemá hodnotu možnosti ReadOnly nebo Constant. Další informace najdete v parametru Option.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Include

Určuje pole položek, které tato rutina zahrnuje v operaci. Hodnota tohoto parametru kvalifikuje parametr Name. Zadejte název nebo vzor názvu, například c*. Jsou povoleny zástupné symboly.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:True
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Name

Určuje název proměnné.

Vlastnosti parametru

Typ:

String[]

Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:0
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-Option

Určuje hodnotu vlastnosti Options proměnné.

Platné hodnoty jsou:

  • Žádné: Nenastaví žádné možnosti. (Výchozí hodnota je Žádná.)
  • ReadOnly: Lze odstranit. Nelze změnit, s výjimkou použití parametru Force.
  • Konstanta: Nelze odstranit ani změnit. Konstanta je platná pouze při vytváření proměnné. Možnosti existující proměnné nelze změnit na Konstanta.
  • Privátní: Proměnná je k dispozici pouze v aktuálním oboru.
  • AllScope: Proměnná se zkopíruje do všech nově vytvořených oborů.

Pokud chcete zobrazit vlastnost Možnosti všech proměnných v relaci, zadejte Get-Variable | Format-Table -Property name, options -Autosize.

Vlastnosti parametru

Typ:ScopedItemOptions
Default value:None
Přípustné hodnoty:None, ReadOnly, Constant, Private, AllScope, Unspecified
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-PassThru

Vrátí objekt představující novou proměnnou. Ve výchozím nastavení tato rutina negeneruje žádný výstup.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Scope

Určuje rozsah proměnné. Přijatelné hodnoty pro tento parametr jsou:

  • Globální
  • Místní
  • Scénář
  • Soukromý
  • Číslo relativní k aktuálnímu oboru (0 až počet oborů, kde 0 je aktuální obor a 1 je jeho nadřazený).

Místní je výchozí hodnota.

Další informace najdete v části about_Scopes.

Vlastnosti parametru

Typ:String
Default value:Local
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Value

Určuje hodnotu proměnné.

Vlastnosti parametru

Typ:Object
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:1
Povinné:False
Hodnota z kanálu:True
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-Visibility

Určuje, zda je proměnná viditelná mimo relaci, ve které byla vytvořena. Tento parametr je určený pro použití ve skriptech a příkazech, které se doručí jiným uživatelům.

Platné hodnoty jsou:

  • Public: Proměnná je viditelná. ("Veřejné" je výchozí.)
  • Private: Proměnná není viditelná.

Pokud je proměnná soukromá, nezobrazuje se v seznamech proměnných, jako jsou proměnné vrácené get-variable, nebo v zobrazení proměnné: jednotka. Příkazy pro čtení nebo změnu hodnoty privátní proměnné vrátí chybu. Uživatel ale může spouštět příkazy, které používají privátní proměnnou, pokud byly příkazy napsané v relaci, ve které byla proměnná definována.

Vlastnosti parametru

Typ:SessionStateEntryVisibility
Default value:Public
Přípustné hodnoty:Public, Private
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-WhatIf

Ukazuje, co se stane, když se příkaz spustí. Příkazový modul nebyl spuštěn.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:Wi

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

Object

Objekt, který představuje hodnotu proměnné, můžete pipetovat Set-Variable.

Výstupy

None or System.Management.Automation.PSVariable

Pokud použijete parametr PassThru, Set-Variable vygeneruje System.Management.Automation.PSVariable objekt představující novou nebo změněnou proměnnou. Jinak tento příkaz negeneruje žádný výstup.