New-Variable
Membuat variabel baru.
Sintaks
New-Variable
[-Name] <String>
[[-Value] <Object>]
[-Description <String>]
[-Option <ScopedItemOptions>]
[-Visibility <SessionStateEntryVisibility>]
[-Force]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
New-Variable
Cmdlet membuat variabel baru di PowerShell. Anda dapat menetapkan nilai ke variabel saat membuatnya atau menetapkan atau mengubah nilai setelah dibuat.
Anda dapat menggunakan parameter New-Variable
untuk mengatur properti variabel, mengatur cakupan variabel, dan menentukan apakah variabel bersifat publik atau privat.
Biasanya, Anda membuat variabel baru dengan mengetik nama variabel dan nilainya, seperti $Var = 3
, tetapi Anda dapat menggunakan New-Variable
cmdlet untuk menggunakan parameternya.
Contoh
Contoh 1: Membuat variabel
New-Variable days
Perintah ini membuat variabel baru bernama hari. Anda tidak diharuskan mengetik parameter Nama .
Contoh 2: Buat variabel dan tetapkan nilai
New-Variable -Name "zipcode" -Value 98033
Perintah ini membuat variabel bernama zipcode dan menetapkannya nilai 98033.
Contoh 3: Membuat variabel dengan opsi ReadOnly
PS C:\> New-Variable -Name Max -Value 256 -Option ReadOnly
PS C:\> New-Variable -Name max -Value 1024
New-Variable : A variable with name 'max' already exists.
At line:1 char:1
+ New-Variable -Name max -Value 1024
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceExists: (max:String) [New-Variable], SessionStateException
+ FullyQualifiedErrorId : VariableAlreadyExists,Microsoft.PowerShell.Commands.NewVariableCommand
PS C:\> New-Variable -Name max -Value 1024 -Force
Contoh ini menunjukkan cara menggunakan ReadOnly
opsi New-Variable
untuk melindungi variabel agar tidak ditimpa.
Perintah pertama membuat variabel baru bernama Max dan menetapkan nilainya ke 256. Ini menggunakan parameter Opsi dengan nilai ReadOnly
.
Perintah kedua mencoba membuat variabel kedua dengan nama yang sama. Perintah ini mengembalikan kesalahan, karena opsi baca-saja diatur pada variabel .
Perintah ketiga menggunakan parameter Paksa untuk mengambil alih perlindungan baca-saja pada variabel. Dalam hal ini, perintah untuk membuat variabel baru dengan nama yang sama berhasil.
Contoh 4: Menetapkan beberapa opsi ke variabel
New-Variable -Name 'TestVariable' -Value 'Test Value' -Option AllScope,Constant
Contoh ini membuat variabel dan menetapkan AllScope
opsi dan Constant
sehingga variabel akan tersedia dalam cakupan saat ini dan cakupan baru yang dibuat dan tidak dapat diubah atau dihapus.
Contoh 5: Membuat variabel privat
Perintah ini menunjukkan perilaku variabel privat dalam modul. Modul berisi Get-Counter
cmdlet, yang memiliki variabel privat bernama Counter. Perintah menggunakan parameter Visibilitas dengan nilai Privat untuk membuat variabel.
PS C:\> New-Variable -Name counter -Visibility Private
#Effect of private variable in a module.
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"
At line:1 char:1
+ $counter
+ ~~~~~~~~
+ CategoryInfo : PermissionDenied: (counter:String) [], SessionStateException
+ FullyQualifiedErrorId : VariableIsPrivate
PS C:\> Get-Counter
Name Value
---- -----
Counter1 3.1415
...
Output sampel menunjukkan perilaku variabel privat. Pengguna yang telah memuat modul tidak dapat melihat atau mengubah nilai variabel Penghitung, tetapi variabel Penghitung dapat dibaca dan diubah oleh perintah dalam modul.
Contoh 6: Membuat variabel dengan spasi
Contoh ini menunjukkan bahwa variabel dengan spasi dapat dibuat. Variabel dapat diakses menggunakan Get-Variable
cmdlet atau secara langsung dengan memisahkan variabel dengan kurung kurawal.
PS C:\> New-Variable -Name 'with space' -Value 'abc123xyz'
PS C:\> Get-Variable -Name 'with space'
Name Value
---- -----
with space abc123xyz
PS C:\> ${with space}
abc123xyz
Parameter
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Menentukan deskripsi variabel.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Menunjukkan bahwa cmdlet membuat variabel dengan nama yang sama dengan variabel baca-saja yang ada.
Secara default, Anda dapat menimpa variabel kecuali variabel memiliki nilai ReadOnly
opsi atau Constant
. Untuk informasi selengkapnya, lihat parameter Opsi .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Menentukan nama untuk variabel baru.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Option
Menentukan nilai properti Opsi dari variabel. Nilai yang dapat diterima untuk parameter ini adalah:
None
- Mengatur tidak ada opsi.None
adalah defaultnya.ReadOnly
- Bisa dihapus. Tidak dapat diubah, kecuali dengan menggunakan parameter Paksa .Private
- Variabel hanya tersedia dalam cakupan saat ini.AllScope
- Variabel disalin ke cakupan baru apa pun yang dibuat.Constant
- Tidak dapat dihapus atau diubah.Constant
hanya valid saat Anda membuat variabel. Anda tidak dapat mengubah opsi variabel yang ada menjadiConstant
.
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.
Untuk melihat properti Opsi dari semua variabel dalam sesi, ketik Get-Variable | Format-Table -Property name, options -AutoSize
.
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
Mengembalikan objek yang mewakili item tempat Anda bekerja. Secara default, cmdlet ini tidak menghasilkan output apa pun.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
Menentukan cakupan variabel baru. Nilai yang dapat diterima untuk parameter ini adalah:
Global
- Variabel yang dibuat dalam cakupan global dapat diakses di mana saja dalam proses PowerShell.Local
- Cakupan lokal mengacu pada cakupan saat ini, ini dapat menjadi cakupan apa pun tergantung pada konteksnya.Local
adalah cakupan default ketika parameter cakupan tidak ditentukan.Script
- Variabel yang dibuat dalam cakupan skrip hanya dapat diakses dalam file skrip atau modul tempat mereka dibuat.- Angka yang relatif terhadap cakupan saat ini (0 hingga jumlah cakupan, di mana 0 adalah cakupan saat ini, 1 adalah induknya, 2 induk cakupan induk, dan sebagainya). Angka negatif tidak dapat digunakan.
Catatan
Parameter juga menerima nilai Private
. Private
sebenarnya bukan cakupan tetapi pengaturan opsional untuk variabel. Namun, menggunakan Private
nilai dengan cmdlet ini tidak mengubah visibilitas variabel. Untuk informasi selengkapnya, lihat about_Scopes.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Menentukan nilai awal variabel.
Type: | Object |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 dapat diterima untuk parameter ini adalah:
Public
- Variabel terlihat.Public
adalah defaultnya.Private
- Variabel tidak terlihat.
Ketika variabel bersifat privat, variabel tidak muncul dalam daftar variabel, seperti variabel yang dikembalikan oleh Get-Variable
, atau dalam tampilan Variable:
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.
Type: | SessionStateEntryVisibility |
Accepted values: | Public, Private |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Anda dapat menyalurkan objek apa pun ke New-Variable
.
Output
None
Secara default, cmdlet ini tidak mengembalikan output.
Saat Anda menggunakan parameter PassThru , cmdlet ini mengembalikan objek PSVariable yang mewakili variabel baru.
Catatan
PowerShell menyertakan alias berikut untuk New-Variable
:
- Semua platform:
nv
Link Terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk