RUBRIQUE
about_Data_Sections
DESCRIPTION COURTE
Présente les sections Data, qui isolent des chaînes de texte et
d'autres données en lecture seule de la logique du script.
DESCRIPTION LONGUE
Les scripts conçus pour Windows PowerShell peuvent comporter une ou
plusieurs sections Data qui contiennent uniquement des données. Vous
pouvez inclure une ou plusieurs sections Data dans n'importe quel
script, fonction ou fonction avancée. Le contenu de la section Data
est limité à un sous-ensemble spécifié du langage de script Windows
PowerShell.
En séparant les données de la logique du code, il est plus facile
d'identifier et de gérer ces différents éléments. Vous disposez de
fichiers de ressources de type chaîne séparés pour le texte, tel
que les messages d'erreur et les chaînes d'aide. La logique de code est
également isolée, ce qui facilite les tests de sécurité et de validation.
Dans Windows PowerShell, la section Data est utilisée pour
prendre en charge l'internationalisation des scripts. Vous pouvez
utiliser des sections Data pour isoler, localiser et traiter plus
facilement les chaînes qui seront traduites dans de nombreuses langues
d'interface utilisateur (IU).
La section Data est une fonctionnalité de Windows PowerShell 2.0. Les
scripts comportant des sections Data ne s'exécuteront pas dans Windows
PowerShell 1.0 sans révision.
Syntaxe
La syntaxe d'une section Data se présente comme suit :
DATA [-supportedCommand <nom de l'applet de commande>] {
<Contenu autorisé>
}
Le mot clé Data est obligatoire. Il ne respecte pas la casse.
Le contenu autorisé est limité aux éléments suivants :
- Tous les opérateurs Windows PowerShell, sauf -match
- Instructions If, Else et ElseIf
- Variables automatiques $PsCulture, $PsUICulture, $True, $False et $Null
- Commentaires
- Pipelines
- Instructions séparées par des points-virgules (;)
- Littéraux, tels que les éléments suivants :
a
1
1,2,3
"Windows PowerShell 2.0"
@( "rouge", "vert", "bleu" )
@{ a = 0x1; b = "excellent"; c ="script" }
[XML] @'
<p> Hello, World </p>
'@
- Applets de commande autorisées dans une section Data. Par défaut,
seule l'applet de commande ConvertFrom-StringData est autorisée.
- Applets de commande que vous autorisez dans une section
Data à l'aide du paramètre SupportedCommand.
Lorsque vous utilisez l'applet de commande ConvertFrom-StringData
dans une section Data, vous pouvez placer les paires clé/valeur
dans des chaînes normales ou here-string entre guillemets simples
ou doubles. Toutefois, les chaînes contenant des variables et des
sous-expressions doivent être placées dans des chaînes normales ou
here-string entre guillemets simples afin que les variables ne
soient pas développées et que les sous-expressions ne soient
pas exécutables.
SupportedCommand
Le paramètre SupportedCommand vous permet d'indiquer qu'une
applet de commande ou une fonction génère uniquement des
données. Il est conçu pour permettre aux utilisateurs d'inclure des
applets de commande et des fonctions dans une section Data qu'ils
aont écrite ou testée.
La valeur du paramètre SupportedCommand correspond à une liste
d'un ou de plusieurs noms d'applet de commande ou de fonction
séparés par des virgules.
Par exemple, la section Data suivante inclut une applet de
commande écrite par l'utilisateur, Format-XML, qui met en forme les
données d'un fichier XML :
DATA -supportedCommand Format-XML
{
Format-XML -strings chaîne1, chaîne2, chaîne3
}
Utilisation d'une section Data
Pour utiliser le contenu d'une section Data, affectez-le à une
variable et employez la notation des variables pour y accéder.
Par exemple, la section Data ci-dessous contient une commande
ConvertFrom-StringData qui convertit la chaîne here-string en
table de hachage. La table de hachage est affectée à la
variable $TextMsgs.
La variable $TextMsgs ne fait pas partie de la section Data.
$TextMsgs = DATA {
ConvertFrom-StringData -stringdata @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
Pour accéder aux clés et aux valeurs de la table de hachage
dans $TextMsgs, utilisez les commandes suivantes.
$TextMsgs.Text001
$TextMsgs.Text002
EXEMPLES
Chaînes de données simples.
DATA {
" Merci d'utiliser mon script Windows PowerShell
Organize.pst. " " Il est fourni gratuitement à la
communauté ". " J'apprécie vos commentaires ".
}
Chaînes incluant des variables autorisées.
DATA {
if ($null) {
" Pour obtenir de l'aide concernant cette applet de commande,
tapez get-help new-dictionary ". }
}
Chaîne here-string entre guillemets simples utilisant l'applet de
commande ConvertFrom-StringData :
DATA {
ConvertFrom-StringData -stringdata @' Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
Chaîne here-string entre guillemets doubles utilisant l'applet de
commande ConvertFrom-StringData :
DATA {
ConvertFrom-StringData -stringdata @" Msg1 = Pour démarrer,
appuyez sur n'importe quelle touche.
Msg2 = Pour quitter, tapez " quit ".
"@
}
Section Data incluant une applet de commande écrite par
l'utilisateur, qui génère des données :
DATA -supportedCommand Format-XML {
Format-XML -strings chaîne1, chaîne2, chaîne3
}
VOIR AUSSI
about_Automatic_Variables
about_Comparison_Operators
about_Hash_Tables
about_If
about_Operators
about_Quoting_Rules
about_Script_Internationalization
ConvertFrom-StringData
Import-LocalizedData