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