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