TEMA
about_Variables
DESCRIPCIÓN BREVE
Describe cómo las variables almacenan valores que se pueden
utilizar en Windows PowerShell.
DESCRIPCIÓN DETALLADA
Una variable es una unidad de memoria en la que se almacenan
valores. En Windows PowerShell, las variables se representan
mediante cadenas de texto de una sola palabra que comienzan por
el signo de dólar ($), como $a, $process o $my_var.
Hay varios tipos de variables diferentes en Windows PowerShell.
-- Variables creadas por el usuario: Las variables creadas por el
usuario las crea y mantiene el usuario. De forma
predeterminada, las variables que crea el usuario en la línea
de comandos de Windows PowerShell sólo existen mientras la
ventana de Windows PowerShell está abierta y se pierden cuando
se cierra la ventana.
Para guardar una variable, se ha de agregar al perfil de
Windows PowerShell. También se pueden crear variables en
scripts con ámbito global, de script o local.
-- Variables automáticas: Las variables automáticas almacenan el
estado de Windows PowerShell. Estas variables las crea Windows
PowerShell, que cambia sus valores cuando se requiere para
conservar su exactitud. Los usuarios no pueden cambiar el
valor de estas variables.
Por ejemplo, la variable $PSHome almacena la ruta de acceso al
directorio de instalación de Windows PowerShell. Para obtener
más información acerca de las variables automáticas, así como
una lista y una descripción de las mismas, vea about_Automatic_
Variables.
-- Variables de preferencia: Las variables de preferencia
almacenan las preferencias del usuario para Windows
PowerShell. Estas variables las crea Windows PowerShell y se
rellenan con valores predeterminados. Los usuarios pueden
modificar los valores de estas variables. Por ejemplo,
MaximumHistoryCount determina el número máximo de entradas en
el historial de la sesión. Para obtener más información acerca
de las variables de preferencia, así como una lista y una
descripción de las mismas, vea about_Preference_Variables.
TRABAJAR CON VARIABLES
Para mostrar todas las variables de una sesión de Windows
PowerShell, escriba:
get-variable
Para mostrar el valor de una variable, escriba su nombre
precedido del signo de dólar ($). Windows PowerShell responde
mostrando su valor.
$<nombreDeVariable>
Por ejemplo:
PS> $pshome
C:\Windows\System32\WindowsPowerShell\v1.0
Para crear una variable o para cambiar el valor de una variable
existente, utilice una instrucción de asignación con el formato
siguiente:
$<variable> = <valor>
Por ejemplo:
PS> $my-variable = 1, 2, 3
O bien
PS> $VerbosePreference = "Continue"
Para obtener un objeto que representa la variable, utilice un
comando Get-Variable, como:
PS> get-variable pid
Para utilizar una variable, escriba su nombre, con el signo de
dólar ($), en un comando o expresión. Si el comando o la
expresión no está escrito entre comillas o si está escrito entre
comillas dobles ("), el valor de la variable se utilizará en el
comando o expresión. Si el comando está escrito ente comillas
simples, ('), se utiliza en la expresión el nombre de la variable.
Por ejemplo, el primer comando busca el valor de la variable
$profile, que es la ruta de acceso al archivo de perfil de
usuario de Windows PowerShell. El segundo comando abre el archivo
en el Bloc de notas.
PS> $profile
C:\Documents and Settings\User01\Mis documentos\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
PS> Notepad $profile
Puede almacenar cualquier tipo de objeto en una variable,
incluidos números enteros, cadenas, matrices y tablas hash, así
como objetos que representan procesos, servicios, registros de
eventos y equipos.
GUARDAR VARIABLES
Las variables que crea el usuario sólo están disponibles en la
sesión en que se crean. Se pierden cuando se cierra la sesión.
Para guardar una variable, se ha de agregar al perfil de
Windows PowerShell.
Las variables de un perfil se agregan a cada sesión de Windows
PowerShell que se abre.
Por ejemplo, para cambiar el valor de la variable
$VerbosePreference en cada sesión de Windows PowerShell,
agregue el comando siguiente al perfil de Windows PowerShell.
$VerbosePreference = "Continue"
Puede agregar este comando al perfil abriendo el archivo de
perfil en un editor de texto, como el Bloc de notas, o puede
utilizar un comando Add-Content, como el siguiente.
El comando siguiente agrega el nuevo valor de la variable
$VerbosePreference al perfil CurrentUser,AllHosts.
add-content -path $profile.CurrentUserAllHosts -value
'$VerbosePreference = "Continue"'
Para obtener más información sobre los perfiles de Windows
PowerShell, vea about_profiles.
NOMBRES DE VARIABLE CON CARACTERES ESPECIALES
Puede utilizar llaves para obligar a Windows PowerShell a
interpretar literalmente un nombre de variable. Esto es
especialmente útil cuando se crea o se hace referencia a un
nombre de variable que incluye caracteres especiales, como
guiones, puntos, dos puntos y paréntesis.
Para crear un nombre de variable que incluya un guión, escríbalo
entre llaves. El comando siguiente crea una variable denominada "
save-items".
C:\PS> ${save-items} = "a", "b", "c"
C:\PS>${save-items}
a
b
c
Para hacer referencia a un nombre de variable que incluye
paréntesis, escríbalo entre llaves.
Por ejemplo, el comando siguiente obtiene los elementos
secundarios de los almacenes de directorio en la variable de
entorno "ProgramFiles (x86)".
C:\PS> Get-childitem ${env:ProgramFiles(x86)}
Para hacer referencia a un nombre de variable que incluye llaves,
escríbalo entre llaves y utilice el carácter de acento grave
(escape) para omitir las llaves. Por ejemplo, para crear una
variable denominada "this{value}is" con el valor 1, escriba:
C:\PS> ${this`{value`}is} = 1
C:\PS> ${this`{value`}is}
1
LA UNIDAD VARIABLE:
Windows PowerShell incluye una unidad Variable: que se parece a
una unidad del sistema de archivos y actúa de la misma manera,
pero contiene las variables de la sesión.
Para cambiar la ubicación a la unidad de variable, escriba:
set-location variable:
(o "cd variable:")
Estando en la unidad de variable, para mostrar los elementos
(variables) de la unidad, utilice el cmdlet Get-ChildItem. Por
ejemplo:
get-childitem
(o "dir" o "ls")
Para obtener más información sobre la unidad Variable: y el
proveedor Variable de Windows PowerShell, escriba:
get-help variable
VEA TAMBIÉN
about_Automatic_Variables
about_Environment_Variables
about_Preference_Variables
about_Scopes