about_Data_Sections
Rövid leírás
Az adatszakaszokat ismerteti, 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 adatszakaszt tartalmazhatnak, amelyek csak adatokat tartalmaznak. Egy vagy több adatszakaszt bármilyen szkriptbe, függvénybe vagy speciális függvénybe felvehet. Az Adatok szakasz tartalma a PowerShell-szkriptnyelv egy adott 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 az Adatok szakasz a szkriptek nemzetközisítésének támogatására szolgál. Az Adatszakaszokkal könnyebben elkülönítheti, megkeresheti és feldolgozhatja a számos felhasználói felületi nyelvre lefordított sztringeket.
Az Adatok szakasz egy PowerShell 2.0-s funkció. Az adatszakaszokkal rendelkező szkriptek nem futnak a PowerShell 1.0-ban változat nélkül.
Syntax
Az Adatszakasz szintaxisa a következő:
DATA [<variable-name>] [-supportedCommand <cmdlet-name>] {
<Permitted content>
}
Az Adat 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
-match
If
,Else
ésElseIf
utasításokA következő automatikus változók:
$PsCulture
,$PsUICulture
,$True
,$False
és$Null
Megjegyzések
Pipelines
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" } [XML] @' <p> Hello, World </p> '@
Az Adatszakaszban engedélyezett parancsmagok. Alapértelmezés szerint csak a
ConvertFrom-StringData
parancsmag engedélyezett.Az adatszakaszban a paraméterrel
-SupportedCommand
engedélyezett parancsmagok.
Ha egy Adat szakaszban használja a ConvertFrom-StringData
parancsmagot, a kulcs-érték párokat egy-idézőjeles vagy dupla idézőjeles sztringekbe, illetve egy-idézőjeles vagy dupla idézőjeles itt-sztringekbe foglalhatja. 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ók számára, hogy parancsmagokat és függvényeket vegyenek fel egy olyan adatszakaszba, amelyet megírtak vagy teszteltek.
Az érték -SupportedCommand
egy vagy több parancsmag vagy függvénynév vesszővel tagolt listája.
Az alábbi adatszakasz 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
}
Adatszakasz használata
Egy Adatszakasz 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 adatszakasz például egy ConvertFrom-StringData
parancsot tartalmaz, amely kivonattáblává alakítja az itt található sztringet. A kivonattábla hozzá van rendelve a $TextMsgs
változóhoz.
A $TextMsgs
változó nem része az adatszakasznak.
$TextMsgs = DATA {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
A kivonattáblában $TextMsgs
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 elhelyezheti a változó nevét az Adatok szakasz definíciójában. Példa:
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 parancsmagot használó ConvertFrom-StringData
egy idézőjeles itt-sztring:
DATA {
ConvertFrom-StringData -stringdata @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
A parancsmagot használó ConvertFrom-StringData
kettős idézőjelű karakterlánc:
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
}