TÓPICO
    about_Data_Sections

DESCRIÇÃO RESUMIDA
    Explica seções Data, o que isola cadeias de texto e outros dados 
    somente leitura da lógica de script.


DESCRIÇÃO LONGA
    Scripts que são criados para o Windows PowerShell podem ter uma 
    ou mais seções Data que contêm apenas dados. Você pode incluir 
    uma ou mais seções Data em qualquer script, função ou função 
    avançada. O conteúdo da seção Data é restrito a um subconjunto 
    especificado da linguagem de scripts do Windows PowerShell.

    Separar dados da lógica de código facilita a identificação e o 
    gerenciamento da lógica e dos dados. Permite ter arquivos de 
    recurso de cadeia de caracteres separados para texto, como 
    mensagens de erro e cadeias de caracteres de Ajuda. Também isola 
    a lógica de código, o que facilita os testes de segurança e 
    validação. 

    No Windows PowerShell, a seção Data é usada para dar suporte à 
    internacionalização de scripts. Você pode usar seções Data para 
    facilitar o isolamento, a localização e o processamento de cadeias de 
    caracteres que serão traduzidas para muitos idiomas de interface do 
    usuário. 

    A seção Data é um recurso do Windows PowerShell 2.0. Scripts com 
    seções Data não serão executados no Windows PowerShell 1.0 sem 
    revisão.


  Sintaxe

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

        DATA [-supportedCommand <nome-cmdlet>] {

            <Conteúdo permitido>
        }


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


    O conteúdo permitido é limitado aos seguintes elementos:

        - Todos os operadores do Windows PowerShell, exceto -match 
	 
        - Instruções If, Else e ElseIf
           
	- As seguintes variáveis automáticas: $PsCulture, $PsUICulture, $True, 
	  $False e $Null

        - Comentários

        - Pipelines

        - Instruções separadas por ponto-e-vírgulas (;)

        - Literais, como:

            a

            1
  
            1,2,3
	
            "Windows PowerShell 2.0"

            @ ( "vermelho", "verde", "azul" )

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

            [XML] @'
             <p> Olá, mundo </p>
            '@

        - Cmdlets que são permitidos em uma seção Data. Por padrão, 
          somente o cmdlet ConvertFrom-StringData é permitido.

        - Os cmdlets que você permite em uma seção Data usando o parâmetro 
          SupportedCommand.


    Ao usar o cmdlet ConvertFrom-StringData em uma seção Data, você 
    pode incluir os pares chave/valor em cadeias de caracteres entre aspas 
    simples ou duplas ou em cadeias de caracteres here entre aspas 
    simples ou duplas. No entanto, cadeias de caracteres que contêm 
    variáveis e subexpressões precisam estar incluídas em cadeias de 
    caracteres entre aspas simples ou em cadeias de caracteres here entre 
    aspas simples, de modo 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 somente dados. Ele foi projetado para 
      permitir que os usuários incluam cmdlets e funções em uma seção 
      data que eles gravaram ou testaram.

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

      Por exemplo, a seção data a seguir inclui um cmdlet escrito 
      pelo usuário, Format-XML, que formata dados em um arquivo XML:

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


  Usando uma seção Data

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

      Por exemplo, a seção data a seguir contém um comando ConvertFrom-
      StringData que converte a cadeia de caracteres here 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 data.
 
          $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 {
            "Obrigado por usar meu script Organize.pst do Windows 
            PowerShell." "Ele é fornecido gratuitamente à 
            comunidade." "Seus comentários são bem-vindos." 
	}


    Cadeias de caracteres que incluem variáveis permitidas.

        DATA {
            if ($null) {
	       "Para obter ajuda sobre esse cmdlet, digite get-help new-
	       dictionary." 
	    }
        }	
		

    Uma cadeia de caracteres here entre aspas simples que usa o cmdlet 
    ConvertFrom-StringData:

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



    Uma cadeia de caracteres here entre aspas duplas que usa o cmdlet 
    ConvertFrom-StringData:

        DATA {
          ConvertFrom-StringData -stringdata @" Msg1 = Para iniciar, 
          pressione qualquer tecla.
            Msg2 = Para fechar, digite "sair".
        "@
        }



    Uma seção data que inclui um cmdlet escrito 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




Sumário