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 laQuestionMarkVariable
clase . - La
null
variable es una instancia de laNullVariable
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
Navegación por las unidades de variable
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: