Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Rövid leírás
Ismerteti data szakaszokat, amelyek elválasztják a szöveges sztringeket és az egyéb írásvédett adatokat a szkriptlogikától.
Hosszú leírás
A PowerShellhez tervezett szkriptek egy vagy több olyan data szakaszt tartalmazhatnak, amelyek csak adatokat tartalmaznak. Egy vagy több data szakaszt bármilyen szkriptbe, függvénybe vagy speciális függvénybe belefoglalhat. A data szakasz tartalma a PowerShell-szkriptnyelv megadott részhalmazára korlátozódik.
Az adatok kódlogikától való elkülönítése megkönnyíti a logika és az adatok azonosítását és kezelését. Lehetővé teszi, hogy külön sztring típusú erőforrásfájlokat használ a szöveghez, például hibaüzeneteket és súgósztringeket. Elkülöníti a kódlogikát is, amely megkönnyíti a biztonsági és érvényesítési teszteket.
A PowerShellben a data szakaszban támogathatja a szkriptek nemzetközisítését. A data szakaszokkal könnyebben elkülönítheti, megkeresheti és feldolgozhatja a más nyelvekre lefordítható sztringeket.
A data szakasz a PowerShell 2.0 szolgáltatásban lett hozzáadva.
Szintaxis
Egy data szakasz szintaxisa a következő:
data [<variable-name>] [-SupportedCommand <cmdlet-name>] {
<Permitted content>
}
A data kulcsszó megadása kötelező. A kis- és nagybetűk nem érzékenyek. Az engedélyezett tartalom a következő elemekre korlátozódik:
Minden PowerShell-operátor, kivéve
-matchif,elseéselseifutasításokA következő automatikus változók:
$PSCulture,$PSUICulture,$true,$falseés$nullMegjegyzések
Csővezetékek
Pontosvesszővel elválasztott utasítások (
;)Literálok, például a következők:
a 1 1,2,3 "PowerShell 2.0" @( "red", "green", "blue" ) @{ a = 0x1; b = "great"; c ="script" } @' <p> Hello, World </p> '@Alapértelmezés szerint egy szakaszban engedélyezett
dataparancsmagok. Alapértelmezés szerint csak aConvertFrom-StringDataparancsmag engedélyezett.A
dataszakaszban engedélyezett parancsmagok a-SupportedCommandparaméterrel.
Ha a ConvertFrom-StringData parancsmagot egy data szakaszban használja, a kulcs-érték párokat egy-idézőjeles vagy dupla idézőjeles sztringekbe vagy egy-idézőjeles vagy dupla idézőjeles ide-sztringekbe ágyazhatja. A változókat és alkifejezéseket tartalmazó sztringeket azonban egy idézőjeles sztringben vagy egy idézőjeles itt-sztringben kell megadni, hogy a változók ne legyenek kibontva, és az alkifejezések ne legyenek végrehajthatók.
-SupportedCommand
A SupportedCommand paraméterrel jelezheti, hogy egy parancsmag vagy függvény csak adatokat hoz létre. Úgy tervezték, hogy lehetővé tegye a felhasználóknak, hogy parancsmagokat és függvényeket vegyenek fel egy data szakaszba, amelyet megírtak vagy teszteltek.
A SupportedCommand értéke egy vagy több parancsmag vagy függvénynév vesszővel tagolt listája.
Az alábbi data szakasz például tartalmaz egy felhasználó által írt parancsmagot Format-Xml, amely xml-fájlban formáz adatokat:
data -SupportedCommand Format-Xml
{
Format-Xml -Strings string1, string2, string3
}
data szakasz használata
Egy data szakasz tartalmának használatához rendelje hozzá egy változóhoz, és használja a változó jelölését a tartalom eléréséhez.
Az alábbi data szakasz például egy ConvertFrom-StringData parancsot tartalmaz, amely kivonattáblává alakítja az here-sztringet. A kivonattábla a $TextMsgs változóhoz van rendelve.
A $TextMsgs változó nem része a data szakasznak.
$TextMsgs = data {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
A $TextMsgskivonattáblájában szereplő kulcsok és értékek eléréséhez használja az alábbi parancsokat.
$TextMsgs.Text001
$TextMsgs.Text002
Másik lehetőségként a változó nevét is elhelyezheti a data szakasz definíciójában. Például:
data TextMsgs {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
$TextMsgs
Az eredmény megegyezik az előző példával.
Name Value
---- -----
Text001 Windows 7
Text002 Windows Server 2008 R2
Példák
Egyszerű adatsztringek.
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."
}
Engedélyezett változókat tartalmazó sztringek.
data {
if ($null) {
"To get help for this cmdlet, type Get-Help New-Dictionary."
}
}
A ConvertFrom-StringData parancsmagot használó egyetlen idézőjeles itt-sztring:
data {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
A ConvertFrom-StringData parancsmagot használó dupla idézőjeles itt-sztring:
data {
ConvertFrom-StringData -StringData @"
Msg1 = To start, press any key.
Msg2 = To exit, type "quit".
"@
}
Adatszakasz, amely egy felhasználó által írt, adatokat generáló parancsmagot tartalmaz:
data -SupportedCommand Format-Xml {
Format-Xml -Strings string1, string2, string3
}