about_Data_Sections

Mis à jour: mai 2014

S'applique à: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

Insérez l'introduction ici.

RUBRIQUE

about_Data_Sections

DESCRIPTION COURTE

Explique les sections Data qui isolent les chaînes de texte et autres données en lecture seule de la logique du script.

DESCRIPTION DÉTAILLÉE

Les scripts conçus pour Windows PowerShell® peuvent avoir une ou plusieurs sections Data qui ne contiennent que des données. Vous pouvez inclure une ou plusieurs sections Data dans un script, une fonction ou une fonction avancée. Le contenu de la section Data est limité à un sous-ensemble spécifié du langage de script de Windows PowerShell.

La séparation des données de la logique du code rend plus facile l'identification et la gestion de la logique et des données. Elle vous permet d'avoir des fichiers de ressources de chaîne distinctes pour le texte, tels que les messages d'erreur et les chaînes d'aide. Elle isole aussi la logique du code, ce qui facilite la sécurité et les tests de validation.

Dans Windows PowerShell, la section Data est utilisée pour prendre en charge l'internationalisation des scripts. Vous pouvez utiliser les sections Data pour faciliter l'isolement, la recherche et le traitement des chaînes qui seront traduites en de nombreuses langues d'interface utilisateur.

La section Data est une fonctionnalité de Windows PowerShell 2.0. Les scripts avec les sections Data ne fonctionnent pas dans Windows PowerShell 1.0 sans révision.

SYNTAXE

La syntaxe d'une section Data est la suivante :

DATA [-supportedCommand <cmdlet-name>] {

            <Permitted content>
        }

Le mot clé Data est obligatoire. Pas de sensibilité à la casse.

Le contenu autorisé est limité aux éléments suivants :

- All Windows PowerShell operators, except -match 
           
        - If, Else, and ElseIf statements
           
- The following automatic variables: $PsCulture,  $PsUICulture,  $True,
          $False, and $Null

        - Comments

        - Pipelines

        - Statements separated by semicolons (;)

        - Literals, such as the following:

            a

            1
  
            1,2,3

            "Windows PowerShell 2.0"

            @( "red", "green", "blue" )

            @{ a = 0x1; b = "great"; c ="script" }

            [XML] @'
             <p> Hello, World </p>
            '@

        - Cmdlets that are permitted in a Data section. By default, only the 
          ConvertFrom-StringData cmdlet is permitted.

        - Cmdlets that you permit in a Data section by using the 
          SupportedCommand parameter.

Lorsque vous utilisez l'applet de commande ConvertFrom-StringData dans une section Data, vous pouvez placer les paires clé/valeur dans des chaînes entre guillemets simples ou doubles ou dans des chaînes here-string entre guillemets simples ou guillemets doubles. Cependant, les chaînes qui contiennent des variables et des sous-expressions doivent être placées dans des chaînes entre guillemets simples ou dans des chaînes 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 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 ont écrite ou testée.

La valeur de SupportedCommand est une liste séparée par des virgules d'un ou de plusieurs noms d'applet de commande ou de fonction.

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 string1, string2, string3
          }
       

UTILISATION D'UNE SECTION DATA

Pour utiliser le contenu d'une section Data, assignez-le à une variable et utilisez la notation de la variable pour accéder au contenu.

Par exemple, la section Data suivante contient une commande ConvertFrom-StringData qui convertit la chaîne here-string en une table de hachage. La table de hachage est assigné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 {
            "Thank you for using my Windows PowerShell Organize.pst script."
            "It is provided free of charge to the community."
            "I appreciate your comments and feedback."
        }

Chaînes qui contiennent les variables autorisées.

        DATA {
            if ($null) {
       "To get help for this cmdlet, type get-help new-dictionary."
            }
        }

Chaîne here-string entre guillemets simples qui utilise 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 qui utilise l'applet de commande ConvertFrom-StringData :

        DATA  {
          ConvertFrom-StringData -stringdata @"
            Msg1 = To start, press any key.
            Msg2 = To exit, type "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 string1, string2, string3
        }

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