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




Table des matières