Set-Variable
Mengatur nilai variabel. Membuat variabel jika variabel dengan nama yang diminta tidak ada.
Sintaks
Set-Variable
[-Name] <String[]>
[[-Value] <Object>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Description <String>]
[-Option <ScopedItemOptions>]
[-Force]
[-Visibility <SessionStateEntryVisibility>]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
Set-Variable
Cmdlet menetapkan nilai ke variabel tertentu atau mengubah nilai saat ini. Jika variabel tidak ada, cmdlet akan membuatnya.
Contoh
Contoh 1: Atur variabel dan dapatkan nilainya
Perintah ini mengatur nilai $desc
variabel ke A description
, lalu mendapatkan nilai variabel.
Set-Variable -Name "desc" -Value "A description"
Get-Variable -Name "desc"
Name Value
---- -----
desc A description
Contoh 2: Mengatur variabel global baca-saja
Contoh ini membuat variabel global baca-saja yang berisi semua proses pada sistem, lalu menampilkan semua properti variabel.
Set-Variable -Name "processes" -Value (Get-Process) -Option constant -Scope global -Description "All processes" -PassThru |
Format-List -Property *
Perintah menggunakan Set-Variable
cmdlet untuk membuat variabel. Ini menggunakan parameter PassThru untuk membuat objek yang mewakili variabel baru, dan menggunakan operator alur (|
) untuk meneruskan objek ke Format-List
cmdlet. Ini menggunakan parameter Format-List
Properti dengan nilai semua (*
) untuk menampilkan semua properti variabel yang baru dibuat.
Nilai, (Get-Process)
, diapit dalam tanda kurung untuk memastikan bahwa nilai dijalankan sebelum disimpan dalam variabel. Jika tidak, variabel berisi kata -kata Get-Process
.
Contoh 3: Memahami variabel publik vs. privat
Contoh ini menunjukkan cara mengubah visibilitas variabel menjadi Private
. Variabel ini dapat dibaca dan diubah oleh skrip dengan izin yang diperlukan, tetapi tidak terlihat oleh pengguna.
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.
Perintah ini menunjukkan cara mengubah visibilitas variabel menjadi Privat. Variabel ini dapat dibaca dan diubah oleh skrip dengan izin yang diperlukan, tetapi tidak terlihat oleh pengguna.
Parameter
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.
Jenis: | SwitchParameter |
Alias: | cf |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Description
Menentukan deskripsi variabel.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Exclude
Menentukan array item yang dikecualikan cmdlet ini dari operasi. Nilai parameter ini memenuhi syarat parameter Path . Masukkan elemen atau pola jalur, seperti *.txt
.
Kartubebas diizinkan.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-Force
Memungkinkan Anda membuat variabel dengan nama yang sama dengan variabel baca-saja yang ada, atau untuk mengubah nilai variabel baca-saja.
Secara default, Anda dapat menimpa variabel, kecuali variabel memiliki nilai ReadOnly
opsi atau Constant
. Untuk informasi selengkapnya, lihat parameter Opsi .
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Include
Menentukan array item yang disertakan cmdlet ini dalam operasi. Nilai parameter ini memenuhi syarat parameter Nama . Masukkan pola nama atau nama, seperti c*
. Kartubebas diizinkan.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | True |
-Name
Menentukan nama variabel.
Jenis: | String[] |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Option
Menentukan nilai properti Opsi dari variabel.
Nilai yang valid adalah:
None
: Mengatur tidak ada opsi. (None
adalah default.)ReadOnly
: Dapat dihapus. Tidak dapat diubah, kecuali dengan menggunakan parameter Paksa.Constant
: Tidak dapat dihapus atau diubah.Constant
hanya valid saat Anda membuat variabel. Anda tidak dapat mengubah opsi variabel yang ada menjadiConstant
.Private
: Variabel hanya tersedia dalam cakupan saat ini.AllScope
: Variabel disalin ke cakupan baru apa pun yang dibuat.
Nilai-nilai ini didefinisikan sebagai enumerasi berbasis bendera. Anda dapat menggabungkan beberapa nilai bersama-sama untuk mengatur beberapa bendera menggunakan parameter ini. Nilai dapat diteruskan ke parameter Opsi sebagai array nilai atau sebagai string yang dipisahkan koma dari nilai tersebut. Cmdlet akan menggabungkan nilai menggunakan operasi biner-OR. Meneruskan nilai sebagai array adalah opsi paling sederhana dan juga memungkinkan Anda menggunakan penyelesaian tab pada nilai.
Jenis: | ScopedItemOptions |
Nilai yang diterima: | None, ReadOnly, Constant, Private, AllScope, Unspecified |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-PassThru
Mengembalikan objek yang mewakili variabel baru. Secara default, cmdlet ini tidak menghasilkan output apa pun.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Scope
Menentukan cakupan variabel. Nilai yang dapat diterima untuk parameter ini adalah:
Global
Local
Script
Private
- Angka relatif terhadap cakupan saat ini (0 hingga jumlah cakupan, di mana 0 adalah cakupan saat ini dan 1 adalah induknya).
Local
adalah defaultnya.
Untuk informasi selengkapnya, lihat about_Scopes.
Jenis: | String |
Position: | Named |
Nilai default: | Local |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Value
Menentukan nilai variabel.
Jenis: | Object |
Position: | 1 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Visibility
Menentukan apakah variabel terlihat di luar sesi tempat variabel dibuat. Parameter ini dirancang untuk digunakan dalam skrip dan perintah yang akan dikirimkan ke pengguna lain.
Nilai yang valid adalah:
Public
: Variabel terlihat. (Public
adalah default.)Private
: Variabel tidak terlihat.
Ketika variabel bersifat privat, variabel tidak muncul dalam daftar variabel, seperti yang dikembalikan oleh Get-Variable
, atau dalam tampilan drive Variabel: . Perintah untuk membaca atau mengubah nilai variabel privat mengembalikan kesalahan. Namun, pengguna dapat menjalankan perintah yang menggunakan variabel privat jika perintah ditulis dalam sesi tempat variabel ditentukan.
Jenis: | SessionStateEntryVisibility |
Nilai yang diterima: | Public, Private |
Position: | Named |
Nilai default: | Public |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Alias: | wi |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
Anda dapat menyalurkan objek yang mewakili nilai variabel ke cmdlet ini.
Output
None
Secara default, cmdlet ini tidak mengembalikan output.
Saat Anda menggunakan parameter PassThru , cmdlet ini mengembalikan objek PSVariable yang mewakili variabel baru atau yang diubah.
Catatan
PowerShell menyertakan alias berikut untuk Set-Variable
:
- Semua platform:
set
sv