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