Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Descripción breve
Explica data secciones, que aíslan cadenas de texto y otros datos de solo lectura de la lógica de 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 data secciones para facilitar el aislamiento, la localización y el proceso 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 mayúsculas de minúsculas. El contenido permitido se limita a los siguientes elementos:
Todos los operadores de PowerShell, excepto
-matchifinstrucciones ,elseyelseifLas siguientes variables automáticas:
$PSCulture,$PSUICulture,$true,$falsey$nullComentarios
Tuberías
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 el cmdletConvertFrom-StringData.Cmdlets que permite en una sección de
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 entre comillas simples o en cadenas de comillas simples o dobles entre comillas. 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 de 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 variable $TextMsgs.
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 cmdlet ConvertFrom-StringData:
data {
ConvertFrom-StringData -StringData @'
Text001 = Windows 7
Text002 = Windows Server 2008 R2
'@
}
Cadena aquí entre comillas dobles que usa el cmdlet ConvertFrom-StringData:
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
}