Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Deskripsi singkat
Menjelaskan bagian data, yang mengisolasi string teks dan data baca-saja lainnya dari logika skrip.
Deskripsi panjang
Skrip yang dirancang untuk PowerShell dapat memiliki satu atau beberapa bagian data yang hanya berisi data. Anda dapat menyertakan satu atau beberapa bagian data dalam skrip, fungsi, atau fungsi tingkat lanjut apa pun. Konten bagian data dibatasi untuk subset tertentu dari bahasa skrip PowerShell.
Memisahkan data dari logika kode memudahkan untuk mengidentifikasi dan mengelola logika dan data. Ini memungkinkan Anda memiliki file sumber daya string terpisah untuk teks, seperti pesan kesalahan dan string Bantuan. Ini juga mengisolasi logika kode, yang memfasilitasi pengujian keamanan dan validasi.
Di PowerShell, Anda dapat menggunakan bagian data untuk mendukung internasionalisasi skrip. Anda dapat menggunakan bagian data untuk mempermudah mengisolasi, menemukan, dan memproses string yang dapat diterjemahkan ke dalam bahasa lain.
Bagian data ditambahkan di fitur PowerShell 2.0.
Sintaksis
Sintaks untuk bagian data adalah sebagai berikut:
data [<variable-name>] [-SupportedCommand <cmdlet-name>] {
<Permitted content>
}
Kata kunci data diperlukan. Ini tidak peka huruf besar/kecil. Konten yang diizinkan terbatas pada elemen berikut:
Semua operator PowerShell, kecuali
-matchpernyataan
if,else, danelseifVariabel otomatis berikut:
$PSCulture,$PSUICulture,$true,$false, dan$nullKomentar
Pipa
Pernyataan dipisahkan oleh titik koma (
;)Literal, seperti berikut ini:
a 1 1,2,3 "PowerShell 2.0" @( "red", "green", "blue" ) @{ a = 0x1; b = "great"; c ="script" } @' <p> Hello, World </p> '@Cmdlet yang diizinkan di bagian
datasecara default. Secara default, hanya cmdletConvertFrom-StringDatayang diizinkan.Cmdlet yang Anda izinkan di bagian
datadengan menggunakan parameter-SupportedCommand.
Saat Anda menggunakan cmdlet ConvertFrom-StringData di bagian data, Anda dapat mengapit pasangan kunci-nilai dalam string yang dikutip tunggal atau dikutip ganda atau dalam string dikutip tunggal atau dikutip ganda di sini. Namun, string yang berisi variabel dan subekspresi harus diapit dalam string yang dikutip tunggal atau dalam string di sini yang dikutip tunggal sehingga variabel tidak diperluas dan subekspresi tidak dapat dieksekusi.
-SupportedCommand
Parameter SupportedCommand memungkinkan Anda menunjukkan bahwa cmdlet atau fungsi hanya menghasilkan data. Ini dirancang untuk memungkinkan pengguna menyertakan cmdlet dan fungsi di bagian data yang telah mereka tulis atau uji.
Nilai SupportedCommand adalah daftar yang dipisahkan koma dari satu atau beberapa cmdlet atau nama fungsi.
Misalnya, bagian data berikut menyertakan cmdlet yang ditulis pengguna, Format-Xml, yang memformat data dalam file XML:
data -SupportedCommand Format-Xml
{
Format-Xml -Strings string1, string2, string3
}
Menggunakan Bagian data
Untuk menggunakan konten bagian data, tetapkan ke variabel dan gunakan notasi variabel untuk mengakses konten.
Misalnya, bagian data berikut berisi perintah ConvertFrom-StringData yang mengonversi string di sini menjadi tabel hash. Tabel hash ditetapkan ke variabel $TextMsgs.
Variabel $TextMsgs bukan bagian dari bagian data.
$TextMsgs = data {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
Untuk mengakses kunci dan nilai dalam tabel hash di $TextMsgs, gunakan perintah berikut.
$TextMsgs.Text001
$TextMsgs.Text002
Secara bergantian, Anda dapat menempatkan nama variabel dalam definisi bagian data. Misalnya:
data TextMsgs {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
$TextMsgs
Hasilnya sama dengan contoh sebelumnya.
Name Value
---- -----
Text001 Windows 7
Text002 Windows Server 2008 R2
Contoh
String data sederhana.
data {
"Thank you for using my PowerShell Organize.pst script."
"It is provided free of charge to the community."
"I appreciate your comments and feedback."
}
String yang mencakup variabel yang diizinkan.
data {
if ($null) {
"To get help for this cmdlet, type Get-Help New-Dictionary."
}
}
String di sini yang dikutip tunggal yang menggunakan cmdlet ConvertFrom-StringData:
data {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
String di sini yang dikutip ganda yang menggunakan cmdlet ConvertFrom-StringData:
data {
ConvertFrom-StringData -StringData @"
Msg1 = To start, press any key.
Msg2 = To exit, type "quit".
"@
}
Bagian data yang menyertakan cmdlet yang ditulis pengguna yang menghasilkan data:
data -SupportedCommand Format-Xml {
Format-Xml -Strings string1, string2, string3
}