Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Nombre del proveedor
Variable
Unidades
Variable:
Capabilities
ShouldProcess
Descripción breve
Proporciona acceso a las variables de PowerShell y a sus valores.
Descripción detallada
El proveedor de Variable de PowerShell le permite obtener, agregar, cambiar, borrar y eliminar variables de PowerShell en la consola actual.
El proveedor de variables PowerShell admite las variables que crea PowerShell, incluidas las variables automáticas, las variables de preferencia y las variables que creas tú.
la unidad Variable es un espacio de nombres sin formato que solo contiene los objetos de variables. Las variables no tienen elementos secundarios.
El proveedor de Variable admite los siguientes cmdlets, que se tratan en este artículo.
- Get-Location
- Set-Location
- Get-Item
- New-Item
- Remove-Item
- Borrar elemento
PowerShell también incluye un conjunto de cmdlets diseñados especialmente para ver y cambiar variables. Cuando se usan los cmdlets de Variable, no es necesario especificar la unidad Variable: en el nombre. En este artículo no se trata 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 variable p y almacena los resultados de un comando Get-Process en él.
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 clase PSVariable. A continuación se enumeran otras variables y sus tipos.
- La variable
?es una instancia de la claseQuestionMarkVariable. - La variable
nulles una instancia de la claseNullVariable. - Las variables de recuento máximo son instancias de la clase
SessionStateCapacityVariable. - Las instancias
LocalVariablecontienen información sobre la ejecución actual, como:MyInvocationPSCommandPathPSScriptRootPSBoundParametersargsinput
Navegación por las unidades de variable
El proveedor de Variable expone su almacén de datos en la unidad Variable:. Para trabajar con variables, puede cambiar la ubicación a la unidad Variable: (Set-Location Variable:), o 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 Variable 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.
Nota
PowerShell usa alias para permitirle una forma familiar de trabajar con rutas de proveedores. 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
Obtener 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 del proveedor
Este comando recupera el valor de una variable mediante la ruta del proveedor de acceso 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*
Obtención del valor de ? variable
Este comando usa el parámetro -LiteralPath de Get-ChildItem para obtener el valor de la variable ? desde dentro de la unidad Variable:. El ? 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 parámetro -LiteralPath.
Get-ChildItem -LiteralPath ?
Obtención de las 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 variable services y almacena los resultados de un comando Get-Service en él. Dado que la ubicación actual se encuentra en la unidad Variable:, el valor del parámetro -Path es un punto (.), lo cual representa la ubicación actual.
Los paréntesis alrededor del comando Get-Service garantizan que el comando se ejecute 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 variable services y almacena el resultado de un comando Get-Service 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 cmdlet Rename-Item para cambiar el nombre de la variable a a processes.
Rename-Item -Path Variable:a -NewName processes
Cambiar el valor de una variable
Este comando usa el cmdlet Set-Item para cambiar el valor de la variable ErrorActionPreference a "Stop".
Set-Item -Path Variable:ErrorActionPreference -Value Stop
Copiar una variable
Este comando usa el cmdlet Copy-Item para copiar la variable processes en old_processes. Esto crea una nueva variable denominada old_processes que tiene el mismo valor que la variable processes.
Copy-Item -Path Variable:processes -Destination Variable:old_processes
Eliminación de una variable
Este comando elimina la variable serv 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 Opciones tiene un valor de Constant. Sin el parámetro -Force, 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 cmdlet Clear-Item para cambiar el valor de la variable processes 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 obtener más información sobre cómo usar la canalización con los cmdlets del proveedor, consulte las referencias de los cmdlets que se encuentran a lo largo de este artículo.
Obtener ayuda
A partir de Windows PowerShell 3.0, puede obtener temas de ayuda personalizados para los cmdlets del proveedor que explican cómo estos cmdlets se comportan 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 parámetro -Path de Get-Help para especificar una unidad del sistema de archivos.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path Variable: