Set-Variable

Egy változó értékét állítja be. Létrehozza a változót, ha a kért név nem létezik.

Syntax

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

Description

A Set-Variable parancsmag hozzárendel egy értéket egy adott változóhoz, vagy módosítja az aktuális értéket. Ha a változó nem létezik, a parancsmag létrehozza azt.

Példák

1. példa: Változó beállítása és értékének lekérése

Ezek a parancsok a $desc változó értékét a következő értékre A descriptionállítják be, majd lekéri a változó értékét.

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

Name                           Value
----                           -----
desc                           A description

2. példa: Globális, írásvédett változó beállítása

Ez a példa létrehoz egy globális, írásvédett változót, amely a rendszeren lévő összes folyamatot tartalmazza, majd megjeleníti a változó összes tulajdonságát.

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

A parancs a Set-Variable parancsmaggal hozza létre a változót. A PassThru paraméter használatával hoz létre egy objektumot, amely az új változót jelöli, és a folyamatkezelő (|) használatával továbbítja az objektumot a Format-List parancsmagnak. Az újonnan létrehozott változó összes tulajdonságának megjelenítéséhez az összes (*) értékkel rendelkező tulajdonság paraméterétFormat-List használja.

Az érték (Get-Process)zárójelek közé van zárva, hogy a rendszer végrehajtsa azt, mielőtt a változóban tárolva lenne. Ellenkező esetben a változó a szavakat Get-Processtartalmazza.

3. példa: A nyilvános és a privát változók ismertetése

Ez a példa bemutatja, hogyan módosíthatja a változó Privateláthatóságát . Ezt a változót a szükséges engedélyekkel rendelkező szkriptek olvashatják és módosíthatják, de a felhasználó számára nem látható.

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.

Ez a parancs bemutatja, hogyan módosíthatja egy változó láthatóságát privátra. Ezt a változót a szükséges engedélyekkel rendelkező szkriptek olvashatják és módosíthatják, de a felhasználó számára nem látható.

Paraméterek

-Confirm

Jóváhagyást kér a parancsmag futtatása előtt.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

A változó leírását adja meg.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

Olyan elemtömböt ad meg, amelyet ez a parancsmag kizár a műveletből. Ennek a paraméternek az értéke az Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például *.txt. Helyettesítő karakterek használata engedélyezett.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

Lehetővé teszi, hogy egy meglévő írásvédett változó nevével megegyező nevű változót hozzon létre, vagy módosítsa egy írásvédett változó értékét.

Alapértelmezés szerint felülírhat egy változót, kivéve, ha a változó értéke vagy Constant.ReadOnly További információ: Option paraméter.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

A parancsmag által a műveletben szereplő elemek tömbjének megadása. Ennek a paraméternek az értéke a Név paramétert minősíti. Adjon meg egy nevet vagy névmintát, például c*. Helyettesítő karakterek használata engedélyezett.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Name

Megadja a változó nevét.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Option

A változó Beállítások tulajdonságának értékét adja meg.

Az érvényes értékek a következők:

  • None: Nem ad meg beállításokat. (None ez az alapértelmezett érték.)
  • ReadOnly: Törölhető. Nem módosítható, kivéve a Force paramétert.
  • Constant: Nem törölhető vagy módosítható. Constant csak változó létrehozásakor érvényes. A meglévő változók beállításait nem módosíthatja a következőre Constant: .
  • Private: A változó csak az aktuális hatókörben érhető el.
  • AllScope: A változó a létrehozott új hatókörökbe lesz másolva.

Ezek az értékek jelölőalapú számbavételként vannak definiálva. Több érték kombinálásával több jelölőt is beállíthat ezzel a paraméterrel. Az értékek átadhatók az Option paraméternek értéktömbként vagy az értékek vesszővel elválasztott sztringjeként. A parancsmag bináris VAGY művelettel egyesíti az értékeket. Az értékek tömbként való átadása a legegyszerűbb lehetőség, és lehetővé teszi a tabulátorkiegészítés használatát is az értékeken.

Type:ScopedItemOptions
Accepted values:None, ReadOnly, Constant, Private, AllScope, Unspecified
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Az új változót képviselő objektumot ad vissza. Ez a parancsmag alapértelmezés szerint nem hoz létre kimenetet.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Megadja a változó hatókörét. A paraméter elfogadható értékei a következők:

  • Global
  • Local
  • Script
  • Private
  • Az aktuális hatókörhöz viszonyított szám (0 a hatókörök számán keresztül, ahol a 0 az aktuális hatókör, az 1 pedig a szülője).

A Local az alapértelmezett formátum.

További információ: about_Scopes.

Type:String
Position:Named
Default value:Local
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Value

A változó értékét adja meg.

Type:Object
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Visibility

Meghatározza, hogy a változó látható-e azon a munkameneten kívül, amelyben létrejött. Ez a paraméter olyan szkriptekben és parancsokban való használatra lett kialakítva, amelyek más felhasználók számára lesznek kézbesítve.

Az érvényes értékek a következők:

  • Public: A változó látható. (Public ez az alapértelmezett érték.)
  • Private: A változó nem látható.

Ha egy változó privát, nem jelenik meg a változók listájában, például a Változó: meghajtó által visszaadott Get-Variablevagy megjelenített változókban. A privát változók értékének olvasására vagy módosítására szolgáló parancsok hibát adnak vissza. A felhasználó azonban futtathat privát változót használó parancsokat, ha a parancsok abban a munkamenetben lettek megírva, amelyben a változót definiálták.

Type:SessionStateEntryVisibility
Accepted values:Public, Private
Position:Named
Default value:Public
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Bevitelek

Object

A változó értékét képviselő objektumot erre a parancsmagra csövezheti.

Kimenetek

None

Ez a parancsmag alapértelmezés szerint nem ad vissza kimenetet.

PSVariable

A PassThru paraméter használatakor ez a parancsmag egy PSVariable objektumot ad vissza, amely az új vagy módosított változót jelöli.

Jegyzetek

A PowerShell a következő aliasokat Set-Variabletartalmazza:

  • Minden platform:
    • set
    • sv