Compartir a través de


about_Variable_Provider

Nombre del proveedor

Variable

Unidades

Variable:

Funcionalidades

ShouldProcess

Descripción breve

Proporciona acceso a las variables de PowerShell y a sus valores.

Descripción detallada

El proveedor de variables de PowerShell le permite obtener, agregar, cambiar, borrar y eliminar variables de PowerShell en la consola actual.

El proveedor de variables de PowerShell admite las variables que crea PowerShell, incluidas las variables automáticas, las variables de preferencia y las variables que cree.

La unidad Variable es un espacio de nombres plano que contiene solo los objetos de variable. Las variables no tienen elementos secundarios.

El proveedor de variables admite los siguientes cmdlets, que se tratan en este artículo.

PowerShell también incluye un conjunto de cmdlets diseñados especialmente para ver y cambiar variables. Cuando se usan cmdlets de variable , no es necesario especificar la Variable: unidad en el nombre. En este artículo no se explica cómo trabajar con cmdlets de variable .

Nota:

También puede usar el analizador de expresiones de PowerShell para crear, ver y cambiar los valores de las variables sin usar los cmdlets. Al trabajar directamente con variables, use un signo de dólar ($) para identificar el nombre como una variable y el operador de asignación (=)para establecer y cambiar su valor. Por ejemplo, $p = Get-Process crea la p variable y almacena los resultados de un Get-Process comando en ella.

Tipos expuestos por este proveedor

Las variables pueden ser uno de varios tipos diferentes. La mayoría de las variables serán instancias de la PSVariable clase . A continuación se enumeran otras variables y sus tipos.

  • La ? variable es una instancia de la QuestionMarkVariable clase .
  • La null variable es una instancia de la NullVariable clase .
  • Las variables de recuento máximo son instancias de la SessionStateCapacityVariable clase .
  • LocalVariable Las instancias contienen información sobre la ejecución actual, como:
    • MyInvocation
    • PSCommandPath
    • PSScriptRoot
    • PSBoundParameters
    • args
    • input

El proveedor de variables expone su almacén de datos en la Variable: unidad. Para trabajar con variables, puede cambiar la ubicación a la Variable: unidad (Set-Location Variable:) o puede trabajar desde cualquier otra unidad de PowerShell. Para hacer referencia a una variable desde otra ubicación, use el nombre de unidad (Variable:) en la ruta de acceso.

Set-Location Variable:

Para volver a una unidad del sistema de archivos, escriba el nombre de la unidad. Por ejemplo, escriba:

Set-Location C:

También puede trabajar con el proveedor de variables desde cualquier otra unidad de PowerShell. Para hacer referencia a una variable desde otra ubicación, use el nombre Variable: de la unidad en la ruta de acceso.

Nota:

PowerShell usa alias para permitirle trabajar con rutas de acceso de proveedor. Los comandos como dir y ls ahora son alias para Get-ChildItem, cd es un alias para Set-Location. y pwd es un alias para Get-Location.

Mostrar el valor de las variables

Obtención de todas las variables de la sesión actual

Este comando obtiene la lista de todas las variables y sus valores en la sesión actual. Puede usar este comando desde cualquier unidad de PowerShell.

Get-ChildItem -Path Variable:

Obtención de una variable mediante su ruta de acceso del proveedor

Este comando recupera un valor de variables mediante su ruta de acceso del proveedor precedida por el signo de dólar ($). Esto tiene el mismo efecto que el prefijo del nombre de las variables con el signo de dólar ($).

$variable:home

Obtención de variables mediante caracteres comodín

Este comando obtiene las variables con nombres que comienzan por "max". Puede usar este comando desde cualquier unidad de PowerShell.

Get-ChildItem -Path Variable:max*

Obtiene el valor de ? variable

Este comando usa el -LiteralPath parámetro Get-ChildItem para obtener el valor de la ? variable desde dentro de la Variable: unidad. ? es un carácter comodín en las rutas de acceso, pero Get-ChildItem no intenta resolver ningún carácter comodín en los valores del -LiteralPath parámetro .

Get-ChildItem -Literalpath ?

Obtener variables ReadOnly y Constant

Este comando obtiene las variables que tienen los valores de ReadOnly o Constant para su propiedad Options .

Get-ChildItem -Path Variable: | Where-Object {
   $_.options -Match "Constant" `
   -or $_.options -Match "ReadOnly"
 } | Format-List -Property name, value, options

Creación de variables

Creación de una nueva variable

Este comando crea la services variable y almacena los resultados de un Get-Service comando en ella. Dado que la ubicación actual está en la Variable: unidad, el valor del -Path parámetro es un punto (.), que representa la ubicación actual.

Los paréntesis alrededor del Get-Service comando garantizan que el comando se ejecuta antes de crear la variable. Sin los paréntesis, el valor de la nueva variable es una cadena "Get-Service".

New-Item -Path . -Name services -Value (Get-Service)

Creación de una variable mediante una ruta de acceso absoluta

Este comando crea una services variable y almacena el resultado de un Get-Service comando en él.

New-Item -Path Variable:services -Value Get-Service

Para crear una variable sin un valor, omita el operador de asignación.

Cambio de variables

Cambiar el nombre de una variable

Este comando usa el Rename-Item cmdlet para cambiar el nombre de la a variable a processes.

Rename-Item -Path Variable:a -NewName processes

Cambiar el valor de una variable

Este comando usa el Set-Item cmdlet para cambiar el valor de la ErrorActionPreference variable a "Stop".

Set-Item -Path Variable:ErrorActionPreference -Value Stop

Copiar una variable

Este comando usa el Copy-Item cmdlet para copiar la processes variable en old_processes. Esto crea una nueva variable denominada old_processes que tiene el mismo valor que la processes variable.

Copy-Item -Path Variable:processes -Destination Variable:old_processes

Eliminación de una variable

Este comando elimina la serv variable de la sesión actual. Puede usar este comando en cualquier unidad de PowerShell.

Remove-Variable -Path Variable:serv

Eliminación de variables mediante el parámetro -Force

Este comando elimina todas las variables de la sesión actual, excepto las variables cuya propiedad Options tiene un valor de Constant. Sin el -Force parámetro , el comando no elimina variables cuya propiedad Options tiene un valor de ReadOnly.

Remove-Item Variable:* -Force

Establecimiento del valor de una variable en NULL

Este comando usa el Clear-Item cmdlet para cambiar el valor de la processes variable a NULL.

Clear-Item -Path Variable:processes

Uso de la canalización

Los cmdlets del proveedor aceptan entradas de canalización. Puede usar la canalización para simplificar la tarea mediante el envío de datos del proveedor de un cmdlet a otro cmdlet de proveedor. Para más información sobre cómo usar la canalización con cmdlets de proveedor, consulte las referencias de cmdlet proporcionadas en este artículo.

Ayuda

A partir de Windows PowerShell 3.0, puede obtener temas de ayuda personalizados sobre cmdlets de proveedor que explican cómo se comportan dichos cmdlets en una unidad del sistema de archivos.

Para obtener los temas de ayuda personalizados para la unidad del sistema de archivos, ejecute un comando Get-Help en una unidad del sistema de archivos o use el -Path parámetro de Get-Help para especificar una unidad del sistema de archivos.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path variable:

Consulte también