Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Descripción breve
Explica las secciones data, que aíslan las cadenas de texto y otros datos de solo lectura de la lógica del script.
Descripción larga
Los scripts diseñados para PowerShell pueden tener una o varias secciones data que solo contienen datos. Puede incluir una o varias secciones de data en cualquier script, función o función avanzada. El contenido de la sección data está restringido a un subconjunto especificado del lenguaje de scripting de PowerShell.
La separación de datos de la lógica de código facilita la identificación y administración de la lógica y los datos. Permite tener archivos de recursos de cadena independientes para texto, como mensajes de error y cadenas de ayuda. También aísla la lógica de código, que facilita las pruebas de seguridad y validación.
En PowerShell, puede usar la sección data para admitir la internacionalización de scripts. Puede usar secciones data para facilitar el aislamiento, la localización y el procesamiento de cadenas que se pueden traducir a otros idiomas.
La sección data se agregó en la característica de PowerShell 2.0.
Sintaxis
La sintaxis de una sección de data es la siguiente:
data [<variable-name>] [-SupportedCommand <cmdlet-name>] {
<Permitted content>
}
Se requiere la palabra clave data. No distingue entre mayúsculas y minúsculas. El contenido permitido se limita a los siguientes elementos:
Todos los operadores de PowerShell, excepto
-matchInstrucciones
if,elseyelseifLas siguientes variables automáticas:
$PSCulture,$PSUICulture,$true,$falsey$nullComentarios
Pipelines
Instrucciones separadas por punto y coma (
;)Literales, como los siguientes:
a 1 1,2,3 "PowerShell 2.0" @( "red", "green", "blue" ) @{ a = 0x1; b = "great"; c ="script" } @' <p> Hello, World </p> '@Cmdlets permitidos en una
datasección de forma predeterminada. De forma predeterminada, solo se permite elConvertFrom-StringDatacmdlet.Cmdlets que usted permite dentro de una sección
datamediante el parámetro-SupportedCommand.
Al usar el cmdlet ConvertFrom-StringData en una sección de data, puede incluir los pares clave-valor en cadenas de comillas simples o dobles, o en cadenas here de comillas simples o dobles. Sin embargo, las cadenas que contienen variables y subexpresiones deben incluirse en cadenas entre comillas únicas o en cadenas aquí entre comillas únicas para que las variables no se expandan y las subexpresiones no sean ejecutables.
-SupportedCommand
El parámetro SupportedCommand permite indicar que un cmdlet o función solo genera datos. Está diseñado para permitir que los usuarios incluyan cmdlets y funciones en una sección data que hayan escrito o probado.
El valor de SupportedCommand es una lista separada por comas de uno o varios nombres de cmdlet o función.
Por ejemplo, la siguiente sección data incluye un cmdlet escrito por el usuario, Format-Xml, que da formato a los datos en un archivo XML:
data -SupportedCommand Format-Xml
{
Format-Xml -Strings string1, string2, string3
}
Uso de una sección de data
Para usar el contenido de una sección de data, asígnelo a una variable y use la notación de variable para acceder al contenido.
Por ejemplo, la siguiente sección data contiene un comando ConvertFrom-StringData que convierte la cadena aquí en una tabla hash. La tabla hash se asigna a la $TextMsgs variable .
La variable $TextMsgs no forma parte de la sección data.
$TextMsgs = data {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
Para acceder a las claves y los valores de la tabla hash de $TextMsgs, use los siguientes comandos.
$TextMsgs.Text001
$TextMsgs.Text002
Como alternativa, puede colocar el nombre de la variable en la definición de la sección data. Por ejemplo:
data TextMsgs {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
$TextMsgs
El resultado es el mismo que el ejemplo anterior.
Name Value
---- -----
Text001 Windows 7
Text002 Windows Server 2008 R2
Ejemplos
Cadenas de datos simples.
data {
"Thank you for using my PowerShell Organize.pst script."
"It is provided free of charge to the community."
"I appreciate your comments and feedback."
}
Cadenas que incluyen variables permitidas.
data {
if ($null) {
"To get help for this cmdlet, type Get-Help New-Dictionary."
}
}
Cadena aquí entre comillas únicas que usa el ConvertFrom-StringData cmdlet :
data {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
Cadena aquí entre comillas dobles que usa el ConvertFrom-StringData cmdlet :
data {
ConvertFrom-StringData -StringData @"
Msg1 = To start, press any key.
Msg2 = To exit, type "quit".
"@
}
Una sección de datos que incluye un cmdlet escrito por el usuario que genera datos:
data -SupportedCommand Format-Xml {
Format-Xml -Strings string1, string2, string3
}