about_Data_Sections

Aplica-se a: Windows PowerShell 2.0, Windows PowerShell 3.0

Insira a introdução aqui.

TÓPICO

about_Data_Sections

DESCRIÇÃO BREVE

Explica as seções de dados, que isolam cadeias de caracteres de texto e outros dados somente leitura da lógica do script.

DESCRIÇÃO LONGA

Scripts que foram projetados para Windows PowerShell® podem ter uma ou mais seções de dados que contêm somente os dados. Você pode incluir uma ou mais seções de dados em qualquer script, função ou funções avançadas. O conteúdo da seção de dados é restrito a um subconjunto especificado da linguagem de script do Windows PowerShell.

Separar dados da lógica de código torna mais fácil identificar e gerenciar dados e lógica. Isso permite que você tenha arquivos de recursos de cadeia de caracteres separados para texto, como mensagens de erro e cadeias de caracteres de Ajuda. E também isola a lógica de código, o que facilita a segurança e os testes de validação.

Em Windows PowerShell, a seção de dados é usada para dar suporte à internacionalização de script. Você pode usar seções de dados para facilitar o isolamento, localização e processo de cadeias de caracteres que serão convertidas em vários idiomas de UI (interface do usuário).

A seção de dados é um recurso do Windows PowerShell 2.0. Scripts com seções de dados não serão executado em Windows PowerShell 1.0 sem revisão.

SINTAXE

A sintaxe para uma seção de dados é a seguinte:

DATA [-supportedCommand <cmdlet-name>] {

            <Permitted content>
        }

A palavra-chave de dados é necessária. Não há diferenciação de maiúsculas de minúsculas.

O conteúdo permitido é limitado aos seguintes elementos:

- 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.

Quando você usa o cmdlet ConvertFrom-StringData em uma seção de dados, você pode colocar os pares chave/valor em cadeias de caracteres entre aspas simples ou aspas duplas ou em here-strings com aspas simples ou aspas duplas. No entanto, cadeias de caracteres que contém variáveis e subexpressões devem ser colocadas em cadeias de caracteres entre aspas simples ou em here-strings entre aspas simples para que as variáveis não sejam expandidas e as subexpressões não sejam executáveis.

SUPPORTEDCOMMAND

O parâmetro SupportedCommand permite que você indique que um cmdlet ou função gere apenas os dados. Ele permite que os usuários incluam cmdlets e funções em uma seção de dados gravada ou testada.

O valor de SupportedCommand é uma lista separada por vírgulas de um ou mais nomes de cmdlet ou função.

Por exemplo, a seguinte seção de dados inclui um cmdlet gravado pelo usuário, em formato XML, que formata os dados em um arquivo XML:

  DATA -supportedCommand Format-XML 
          {    
             Format-XML -strings string1, string2, string3
          }
       

USANDO UMA SEÇÃO DE DADOS

Para usar o conteúdo de uma seção de dados, atribua a seção de dados a uma variável e use a notação de variável para acessar o conteúdo.

Por exemplo, a seguinte seção de dados contém um comando ConvertFrom-StringData que converte a here-string em uma tabela de hash. A tabela de hash é atribuída à variável $TextMsgs.

A variável $TextMsgs não faz parte da seção de dados.

$TextMsgs = DATA {
              ConvertFrom-StringData -stringdata @'
                Text001 = Windows 7
                Text002 = Windows Server 2008 R2
          '@
          }

Para acessar as chaves e os valores na tabela de hash em $TextMsgs, use os seguintes comandos.

$TextMsgs.Text001      
          $TextMsgs.Text002

EXEMPLOS

Cadeias de caracteres de dados 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."
        }

Cadeias de caracteres que são permitidas variáveis.

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

Uma here-string com aspas simples que usa o cmdlet ConvertFrom-StringData:

        DATA {
          ConvertFrom-StringData -stringdata @'
            Text001 = Windows 7
            Text002 = Windows Server 2008 R2
        '@
        }

Uma here-string com aspas duplas que usa o cmdlet ConvertFrom-StringData:

        DATA  {
          ConvertFrom-StringData -stringdata @"
            Msg1 = To start, press any key.
            Msg2 = To exit, type "quit".
        "@
        }

Uma seção de dados que inclui um cmdlet gravado pelo usuário que gera dados:

DATA -supportedCommand Format-XML {    
           Format-XML -strings string1, string2, string3
        }

CONSULTE TAMBÉM

about_Automatic_Variables

about_Comparison_Operators

about_Hash_Tables

about_If

about_Operators

about_Quoting_Rules

about_Script_Internationalization

ConvertFrom-StringData

Import-LocalizedData