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