Set-Variable

Bir değişkenin değerini ayarlar. İstenen ada sahip bir değişken yoksa değişkenini oluşturur.

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

Set-Variable Cmdlet, belirtilen değişkene bir değer atar veya geçerli değeri değiştirir. Değişken yoksa, cmdlet bunu oluşturur.

Örnekler

Örnek 1: Değişken ayarlama ve değerini alma

Bu komutlar değişkenin $desc değerini olarak A descriptionayarlar ve değişkenin değerini alır.

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

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

Örnek 2: Genel, salt okunur değişken ayarlama

Bu örnek, sistemdeki tüm işlemleri içeren genel, salt okunur bir değişken oluşturur ve ardından değişkenin tüm özelliklerini görüntüler.

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

komutu, değişkeni oluşturmak için cmdlet'ini kullanır Set-Variable . Yeni değişkeni temsil eden bir nesne oluşturmak için PassThru parametresini kullanır ve nesneyi cmdlet'e Format-List geçirmek için işlem hattı işlecini (|) kullanır. Yeni oluşturulan değişkenin tüm özelliklerini görüntülemek için tümü (*) değeriyle özelliğiniFormat-List kullanır.

değeri, (Get-Process)değişkende depolanmadan önce yürütülmesini sağlamak için parantez içine alınır. Aksi takdirde, değişkeni sözcüklerini Get-Processiçerir.

Örnek 3: Genel ve özel değişkenleri anlama

Bu örnekte bir değişkenin Privategörünürlüğünü olarak değiştirme gösterilmektedir. Bu değişken, gerekli izinlere sahip betikler tarafından okunabilir ve değiştirilebilir, ancak kullanıcı tarafından görülemez.

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.

Bu komut, bir değişkenin görünürlüğünü Özel olarak değiştirme işlemini gösterir. Bu değişken, gerekli izinlere sahip betikler tarafından okunabilir ve değiştirilebilir, ancak kullanıcı tarafından görülemez.

Parametreler

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

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

-Description

Değişkenin açıklamasını belirtir.

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

-Exclude

Bu cmdlet'in işlemden hariç tutulduğu bir öğe dizisini belirtir. Bu parametrenin değeri Path parametresini niteler. gibi *.txtbir yol öğesi veya deseni girin. Joker karakterlere izin verilir.

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

-Force

Var olan bir salt okunur değişkenle aynı ada sahip bir değişken oluşturmanıza veya salt okunur değişkenin değerini değiştirmenize olanak tanır.

Varsayılan olarak, değişkenin veya Constantseçenek değeri ReadOnly olmadığı sürece değişkenin üzerine yazabilirsiniz. Daha fazla bilgi için Option parametresine bakın.

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

-Include

Bu cmdlet'in işleme dahil olduğu bir öğe dizisini belirtir. Bu parametrenin değeri Name parametresini niteler. gibi c*bir ad veya ad deseni girin. Joker karakterlere izin verilir.

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

-Name

Değişken adını belirtir.

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

-Option

Değişkenin Options özelliğinin değerini belirtir.

Geçerli değerler:

  • None: Seçenek belirlemez. (None varsayılandır.)
  • ReadOnly: Silinebilir. Force parametresinin kullanılması dışında değiştirilemez.
  • Constant: Silinemez veya değiştirilemez. Constant yalnızca bir değişken oluştururken geçerlidir. Var olan bir değişkenin seçeneklerini olarak Constantdeğiştiremezsiniz.
  • Private: Değişkeni yalnızca geçerli kapsamda kullanılabilir.
  • AllScope: Değişken, oluşturulan tüm yeni kapsamlara kopyalanır.

Bu değerler, bayrak tabanlı bir numaralandırma olarak tanımlanır. Bu parametreyi kullanarak birden çok bayrak ayarlamak için birden çok değeri birlikte birleştirebilirsiniz. Değerler Option parametresine bir değer dizisi veya bu değerlerin virgülle ayrılmış dizesi olarak geçirilebilir. cmdlet'i bir ikili OR işlemi kullanarak değerleri birleştirir. Değerleri dizi olarak geçirmek en basit seçenektir ve değerler üzerinde sekme tamamlama özelliğini kullanmanıza da olanak tanır.

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

Yeni değişkeni temsil eden bir nesne döndürür. Varsayılan olarak, bu cmdlet herhangi bir çıkış oluşturmaz.

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

-Scope

Değişkenin kapsamını belirtir. Bu parametre için kabul edilebilir değerler şunlardır:

  • Global
  • Local
  • Script
  • Private
  • Geçerli kapsama göre bir sayı (0, 0'ın geçerli kapsam ve 1'in onun üst kapsamı olduğu kapsam sayısı üzerinden).

Local varsayılan değerdir.

Daha fazla bilgi için bkz . about_Scopes.

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

-Value

Değişkenin değerini belirtir.

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

-Visibility

Değişkenin oluşturulduğu oturumun dışında görünür olup olmadığını belirler. Bu parametre, diğer kullanıcılara teslim edilecek betiklerde ve komutlarda kullanılmak üzere tasarlanmıştır.

Geçerli değerler:

  • Public: Değişken görünür durumdadır. (Public varsayılandır.)
  • Private: Değişken görünür değil.

Bir değişken özel olduğunda, tarafından döndürülenler Get-Variablegibi değişken listelerinde veya Değişken: sürücüsünün görüntülerinde görünmez. Özel değişkenin değerini okumak veya değiştirmek için komutlar hata döndürür. Ancak, komutlar değişkenin tanımlandığı oturumda yazılmışsa, kullanıcı özel değişken kullanan komutları çalıştırabilir.

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

-WhatIf

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

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

Girişler

Object

Değişkenin değerini temsil eden bir nesneyi bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

None

Varsayılan olarak, bu cmdlet çıkış döndürmez.

PSVariable

PassThru parametresini kullandığınızda, bu cmdlet yeni veya değiştirilmiş değişkeni temsil eden bir PSVariable nesnesi döndürür.

Notlar

PowerShell için aşağıdaki diğer adları Set-Variableiçerir:

  • Tüm platformlar:
    • set
    • sv