Bagikan melalui


New-Variable

Membuat variabel baru.

Sintaks

Default (Default)

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

Deskripsi

Cmdlet New-Variable 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 cmdlet New-Variable 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 opsi ReadOnlyNew-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 Force 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 opsi AllScope 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 ini berisi cmdlet Get-Counter, 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 cmdlet Get-Variable 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 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

-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 opsi ReadOnly atau Constant. Untuk informasi selengkapnya, lihat parameter Opsi .

Properti parameter

Jenis:SwitchParameter
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

-Name

Menentukan nama untuk variabel baru.

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 dari variabel. Nilai yang dapat diterima untuk parameter ini adalah:

  • None - Mengatur tidak ada opsi. None adalah default.
  • ReadOnly - Dapat dihapus. Tidak dapat diubah, kecuali dengan menggunakan parameter Force.
  • 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 menjadi Constant.

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.

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 item dengan mana Anda bekerja. Secara default, cmdlet ini tidak menghasilkan output apa pun.

Properti parameter

Jenis:SwitchParameter
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

-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 saat parameter cakupan tidak ditentukan.
  • Script - Variabel yang dibuat dalam cakupan skrip hanya dapat diakses dalam file skrip atau modul tempat variabel 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.

Nota

Parameter juga menerima nilai Private. Private sebenarnya bukan cakupan tetapi pengaturan opsional untuk variabel. Namun, menggunakan nilai Private dengan cmdlet ini tidak mengubah visibilitas variabel. Untuk informasi selengkapnya, lihat about_Scopes.

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

-Value

Menentukan nilai awal 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 dapat diterima untuk parameter ini 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 Variable:. 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:None
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 apa pun ke New-Variable.

Output

None

Secara default, cmdlet ini tidak mengembalikan output.

PSVariable

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