Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kısa açıklama
data bölümlerini, metin dizelerini ve diğer salt okunur verileri betik mantığından yalıtan bölümler olarak açıklar.
Uzun açıklama
PowerShell için tasarlanan betiklerde yalnızca veri içeren bir veya daha fazla data bölümü olabilir. Herhangi bir betik, fonksiyon veya gelişmiş fonksiyona bir veya daha fazla data bölümü ekleyebilirsiniz.
data bölümünün içeriği, PowerShell betik dilinin belirtilen bir alt kümesiyle sınırlıdır.
Verileri kod mantığından ayırmak, hem mantığı hem de verileri tanımlamayı ve yönetmeyi kolaylaştırır. Hata iletileri ve Yardım dizeleri gibi metinler için ayrı dize kaynak dosyalarına sahip olmanıza olanak tanır. Ayrıca güvenlik ve doğrulama testlerini kolaylaştıran kod mantığını yalıtıyor.
PowerShell'de, betiğin uluslararasılaştırılmasını desteklemek için data bölümünü kullanabilirsiniz. Diğer dillere çevrilebilen dizeleri yalıtma, bulma ve işleme işlemlerini kolaylaştırmak için data bölümleri kullanabilirsiniz.
data bölümü PowerShell 2.0 özelliğine eklendi.
Sözdizimi
data bölümünün söz dizimi aşağıdaki gibidir:
data [<variable-name>] [-SupportedCommand <cmdlet-name>] {
<Permitted content>
}
data anahtar sözcüğü gereklidir. Büyük/küçük harfe duyarlı değildir. İzin verilen içerik aşağıdaki öğelerle sınırlıdır:
Dışındaki tüm PowerShell işleçleri
-matchif,elseveelseifdeyimleriAşağıdaki otomatik değişkenler:
$PSCulture,$PSUICulture,$true,$falseve$nullAçıklamalar
Pipelines
Noktalı virgülle ayrılmış deyimler (
;)Değişmez değerler, örneğin:
a 1 1,2,3 "PowerShell 2.0" @( "red", "green", "blue" ) @{ a = 0x1; b = "great"; c ="script" } @' <p> Hello, World </p> '@Bir bölümde varsayılan olarak izin verilen cmdlet'ler
data. Varsayılan olarak, yalnızcaConvertFrom-StringDatacmdlet'e izin verilir.dataparametresini kullanarak bir-SupportedCommandbölümünde izin vereceğiniz cmdlet'ler.
ConvertFrom-StringData bir bölümde data cmdlet'ini kullandığınızda, anahtar-değer çiftlerini tek tırnaklı veya çift tırnaklı metinler ya da tek tırnaklı veya çift tırnaklı here-strings içine alabilirsiniz. Ancak değişkenler ve alt ifadeler içeren dizeler, değişkenlerin genişletilmemesi ve alt ifadelerin çalıştırılamaması için tek tırnaklı dizeler veya tek tırnaklı here-string'ler içine alınmalıdır.
-SupportedCommand
SupportedCommand parametresi, bir cmdlet'in veya işlevin yalnızca veri oluşturduğunu belirtmenizi sağlar. Kullanıcıların yazdıkları veya test ettikleri bir data bölümüne cmdlet'leri ve işlevleri dahil etmelerini sağlamak için tasarlanmıştır.
SupportedCommand değeri, bir veya daha fazla cmdlet veya işlev adının virgülle ayrılmış listesidir.
Örneğin, aşağıdaki data bölümü, xml dosyasındaki verileri biçimlendiren Format-Xmlkullanıcı tarafından yazılmış bir cmdlet içerir:
data -SupportedCommand Format-Xml
{
Format-Xml -Strings string1, string2, string3
}
data Bölümü Kullanma
bir data bölümünün içeriğini kullanmak için bunu bir değişkene atayın ve içeriğe erişmek için değişken gösterimini kullanın.
Örneğin, aşağıdaki data bölümü, buradaki dizeyi karma tabloya dönüştüren bir ConvertFrom-StringData komutu içerir. Karma tablo değişkenine $TextMsgs atanır.
$TextMsgs değişkeni data bölümünün bir parçası değildir.
$TextMsgs = data {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
içindeki $TextMsgskarma tablosundaki anahtarlara ve değerlere erişmek için aşağıdaki komutları kullanın.
$TextMsgs.Text001
$TextMsgs.Text002
Alternatif olarak, değişken adını data bölümünün tanımına koyabilirsiniz. Örneğin:
data TextMsgs {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
$TextMsgs
Sonuç, önceki örnekle aynıdır.
Name Value
---- -----
Text001 Windows 7
Text002 Windows Server 2008 R2
Örnekler
Basit veri dizeleri.
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."
}
İzin verilen değişkenleri içeren dizeler.
data {
if ($null) {
"To get help for this cmdlet, type Get-Help New-Dictionary."
}
}
cmdlet'ini kullanan tek tırnaklı ConvertFrom-StringData bir here-string:
data {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
cmdlet'ini kullanan çift tırnaklı ConvertFrom-StringData bir here-string:
data {
ConvertFrom-StringData -StringData @"
Msg1 = To start, press any key.
Msg2 = To exit, type "quit".
"@
}
Veri oluşturan kullanıcı tarafından yazılmış bir cmdlet içeren veri bölümü:
data -SupportedCommand Format-Xml {
Format-Xml -Strings string1, string2, string3
}
Ayrıca bakınız
PowerShell