Set-Variable
Mengatur nilai variabel. Membuat variabel jika variabel dengan nama yang diminta tidak ada.
Sintaks
Default (Default)
Set-Variable
[-Name] <String[]>
[[-Value] <Object>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Description <String>]
[-Option <ScopedItemOptions>]
[-Force]
[-Visibility <SessionStateEntryVisibility>]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
cmdlet Set-Variable 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 variabel $desc 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 cmdlet Set-Variable untuk membuat variabel. Ini menggunakan parameter PassThru untuk membuat objek yang mewakili variabel baru, dan menggunakan operator alur (|) untuk meneruskan objek ke cmdlet Format-List. Ini menggunakan parameter PropertiFormat-List 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 konfirmasi sebelum menjalankan cmdlet.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Cf |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Description
Menentukan deskripsi variabel.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Exclude
Menentukan array item yang dikecualikan cmdlet ini dari operasi. Nilai parameter ini memenuhi syarat parameter Jalur. Masukkan elemen atau pola jalur, seperti *.txt.
Kartu liar diizinkan.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | True |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-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 opsi ReadOnly atau Constant. Untuk informasi selengkapnya, lihat parameter Opsi
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Include
Menentukan array item yang disertakan cmdlet ini dalam operasi. Nilai parameter ini memenuhi syarat parameter Nama c*. Kartu liar diizinkan.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | True |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Name
Menentukan nama variabel.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Option
Menentukan nilai properti Opsi
Nilai yang valid adalah:
-
None: Mengatur tidak ada opsi. (Noneadalah default.) -
ReadOnly: Dapat dihapus. Tidak dapat diubah, kecuali dengan menggunakan parameter Paksa. -
Constant: Tidak dapat dihapus atau diubah.Constanthanya 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.
Properti parameter
| Jenis: | ScopedItemOptions |
| Nilai default: | None |
| Nilai yang diterima: | None, ReadOnly, Constant, Private, AllScope, Unspecified |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-PassThru
Mengembalikan objek yang mewakili variabel baru. Secara default, cmdlet ini tidak menghasilkan output apa pun.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Scope
Menentukan cakupan variabel. Nilai yang dapat diterima untuk parameter ini adalah:
GlobalLocalScriptPrivate- Angka relatif terhadap cakupan saat ini (0 hingga jumlah cakupan, di mana 0 adalah cakupan saat ini dan 1 adalah induknya).
Local adalah default.
Untuk informasi selengkapnya, lihat about_Scopes.
Properti parameter
| Jenis: | String |
| Nilai default: | Local |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Value
Menentukan nilai variabel.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | 1 |
| Wajib: | False |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | 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. (Publicadalah default.) -
Private: Variabel tidak terlihat.
Ketika variabel bersifat privat, variabel tidak muncul dalam daftar variabel, seperti yang dikembalikan oleh Get-Variable, atau dalam tampilan Variabel : drive. 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.
Properti parameter
| Jenis: | SessionStateEntryVisibility |
| Nilai default: | Public |
| Nilai yang diterima: | Public, Private |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-WhatIf
Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | wi |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
Object
Anda dapat menyalurkan objek yang mewakili nilai variabel ke cmdlet ini.
Output
None
Secara default, cmdlet ini tidak mengembalikan output.
PSVariable
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:
setsv