You are on page 1of 6

TEMA

about_Automatic_Variables
DESCRIPCIN BREVE
Describe las variables que almacenan informacin de estado para
Windows PowerShell.
Estas variables las crea y mantiene Windows PowerShell.
DESCRIPCIN DETALLADA
A continuacin se muestra una lista de variables automticas en
Windows PowerShell:


$$
Contiene el ltimo smbolo (token) de la ltima lnea recibida
por la sesin.

$?
Contiene el estado de ejecucin de la ltima operacin.
Contiene TRUE si la ltima operacin se realiz correctamente,
y FALSE si se produjo un error.

$^
Contiene el primer smbolo de la ltima lnea recibida por la
sesin.

$_
Contiene el objeto actual que hay en el objeto de
canalizacin. Esta variable se puede utilizar en comandos que
realizan una accin en cada objeto o en objetos seleccionados
de una canalizacin.

$Args
Contiene una matriz de parmetros no declarados o los valores de
parmetro que se pasan a una funcin, script o bloque de script.
Al crear una funcin, se pueden declarar los parmetros mediante la
palabra clave param o agregando despus del nombre de la funcin una
lista entre parntesis de parmetros separados por comas.
$ConsoleFileName
Contiene la ruta de acceso del ltimo archivo de consola (.psc1)
utilizado en la sesin. Esta variable se rellena al iniciar Windows
PowerShell con el parmetro PSConsoleFile, o bien cuando se utiliza
el cmdlet Export-Console para exportar los nombres de complemento a
un archivo de consola.
Si el cmdlet Export-Console se utiliza sin parmetros, actualiza
automticamente el ltimo archivo de consola utilizado en la sesin.
Esta variable automtica se puede utilizar para determinar qu archivo se
actualizar.
$Error
Contiene una matriz de objetos de error que representan los
errores ms recientes. El error ms reciente es el primer
objeto de error de la matriz ($Error[0]).
$Evento
Contiene un objeto PSEventArgs que representa el evento que se est
procesando.
Esta variable se rellena nicamente en el bloque Action de un comando de
registro de eventos, como Register-ObjectEvent. El valor de esta
variable es el mismo objeto que devuelve el Get-Event cmdlet. No
obstante, se pueden utilizar las propiedades de la variable $Event, como
$Event.TimeGenerated, en un bloque de script Action.
$EventSubscriber
Contiene un objeto PSEventSubscriber que representa el suscriptor de
eventos del evento que se est procesando. Esta variable se rellena
nicamente en el bloque Action de un comando de registro de eventos.
El valor de esta variable es el mismo objeto que devuelve el
Get-EventSubscriber.
$ExecutionContext
Contiene un objeto EngineIntrinsics que representa el contexto de
ejecucin del host de Windows PowerShell. Esta variable se puede
utilizar para buscar los objetos de ejecucin que estn disponibles
para los cmdlet.
$False
Contiene FALSE. Esta variable se puede utilizar para representar
FALSE en los comandos y scripts en lugar de utilizar la
cadena "false". La cadena se puede interpretar como TRUE si se
convierte en una cadena que no est vaca o en un entero distinto de cero.
$ForEach
Contiene el enumerador de un bucle ForEach-Object. Las propiedades y los
mtodos de los enumeradores se pueden utilizar con el valor de la variable
$ForEach. Esta variable existe nicamente mientras se est ejecutando el
bucle For. Se elimina cuando el bucle finaliza.

$Home
Contiene la ruta de acceso completa del directorio principal
del usuario. Esta variable equivale a las variables de entorno
%homedrive%%homepath%, normalmente, C:\Documents and Settings\<usuario>.
$Host
Contiene un objeto que representa la aplicacin host actual
para Windows PowerShell. Esta variable se puede utilizar para
representar el host actual en los comandos o para mostrar o
cambiar las propiedades del host, como $Host.version,
$Host.CurrentCulture o $host.ui.rawui.setbackgroundcolor("Red").
$Input
Un enumerador que contiene la entrada que se pasa a una funcin. La
variable $Input distingue maysculas y minsculas y est disponible
nicamente en las funciones y los bloques de script. (Los bloques de
script son, en esencia, funciones sin nombre.) En el bloque Process
de una funcin, la variable $Input contiene el objeto que se encuentra
actualmente en la canalizacin. Cuando se completa el bloque Process,
el valor de $Input es NULL. Si la funcin no tiene un bloque Process,
el valor de $Input est disponible para el bloque End y contiene toda
la entrada de la funcin.
$LastExitCode
Contiene el cdigo de salida del ltimo programa basado en
Windows que se ejecut.
$Matches
La variable $Matches funciona con los operadores -match y -not match.
Cuando se enva una entrada escalar al operador -match o -notmatch y
cualquiera de los ellos detecta una coincidencia, devuelven un valor
de tipo boolean y rellenan la variable automtica $Matches con una
tabla hash que contiene todos los valores de tipo string para los que
se han hallado coincidencias. Para obtener ms informacin sobre el
operador
-match, vea about_comparison_operators.

$MyInvocation
Contiene un objeto con informacin sobre el comando actual, como un
script, funcin o bloque de script. Se puede utilizar la informacin
del objeto, como la ruta de acceso y el nombre de archivo del script
($myinvocation.mycommand.path) o el nombre de una funcin
($myinvocation.mycommand.name) para identificar el comando actual.
Esto resulta de gran utilidad para buscar el nombre del script que se
est ejecutando.
$NestedPromptLevel
Contiene el nivel de smbolo del sistema actual. El valor 0
indica el nivel de smbolo del sistema original. El valor se
incrementa al entrar en un nivel anidado y disminuye al salir
de l.
Por ejemplo, Windows PowerShell presenta un smbolo del
sistema anidado cuando se utiliza el mtodo $Host.EnterNestedPr
ompt. Windows PowerShell tambin presenta un smbolo del
sistema anidado cuando se alcanza un punto de interrupcin en el
depurador de Windows PowerShell.
Cuando se entra en un smbolo del sistema anidado, Windows
PowerShell pone en pausa el comando actual, guarda el contexto de
ejecucin e incrementa el valor de la variable $NestedPromptLevel.
Para crear smbolos del sistema anidados adicionales (hasta 128 niveles)
o volver al smbolo del sistema original, se debe completar el comando
o escribir "exit".
La variable $NestedPromptLevel ayuda a realizar el seguimiento
del nivel del smbolo del sistema. Puede crear un smbolo del
sistema alternativo de Windows PowerShell que incluya este
valor para que siempre est visible.
$NULL
Contiene un valor NULL o vaco. Esta variable se puede
utilizar para representar NULL en los comandos y scripts en
lugar de utilizar la cadena "NULL". La cadena se puede
interpretar como TRUE si se convierte en una cadena que no
est vaca o en un entero distinto de cero.
$PID
Contiene el identificador de proceso (PID) del proceso en el que se
hospeda la sesin de Windows PowerShell actual.

$Profile
Contiene la ruta de acceso completa del perfil de Windows
PowerShell correspondiente al usuario actual y a la aplicacin host
actual. Esta variable se puede utilizar para representar el perfil en los

comandos. Por ejemplo, se puede utilizar en un comando para
determinar si se ha creado un perfil:
test-path $profile
O bien, se puede utilizar en un comando para crear un perfil:
new-item -type file -path $pshome -force
Tambin se puede utilizar en un comando para abrir el perfil
en el Bloc de notas:
notepad $profile
$PSBoundParameters
Contiene un diccionario de parmetros activos y sus valores
actuales. Esta variable solamente tiene valor en los mbitos
donde se declaran los parmetros, como un script o una
funcin. Se puede utilizar para mostrar o cambiar los valores
actuales de los parmetros o para pasar valores de parmetros
a otro script u otra funcin.
Por ejemplo:
function test {
param($a, $b)

# Mostrar los parmetros en formato de diccionario.
$psboundparameters

# Llamar a la funcin Test1 con $a y $b.
test1 @psboundparameters
}
$PsCmdlet
Contiene un objeto que representa el cmdlet o la funcin
avanzada que se est ejecutando.
Se pueden usar las propiedades y los mtodos del objeto en el
cdigo de cmdlet o de funcin para responder a las condiciones
de uso. Por ejemplo, la propiedad ParameterSetName contiene el
nombre del conjunto de parmetros que se est utilizando; por
su parte, el mtodo ShouldProcess agrega dinmicamente los
parmetros Confirm y WhatIf al cmdlet.
Para obtener ms informacin acerca de la variable automtica
$PSCmdlet, vea about_Functions_Advanced.
$PsCulture
Contiene el nombre de la referencia cultural actualmente en
uso en el sistema operativo. La referencia cultural determina
el formato con que se muestran algunos elementos, tales como
nmeros, monedas y fechas. Se trata del valor de la propiedad
System.Globalization.CultureInfo.CurrentCulture.Name del sistema.
Para obtener el objeto System.Globalization.CultureInfo del sistema,
se utiliza el cmdlet Get-Culture.
$PSDebugContext
Durante la depuracin, esta variable contiene informacin sobre el
entorno de depuracin. De lo contrario, contiene un valor NULL.
En consecuencia, se puede utilizar para indicar si el depurador tiene el
control. Cuando est rellenada, contiene un objeto PsDebugContext que
tiene las propiedades InvocationInfo y Breakpoints. La propiedad
InvocationInfo posee varias propiedades tiles, como la propiedad
Location. La propiedad Location indica la ruta de acceso del script
que se est depurando.
$PsHome
Contiene la ruta de acceso completa del directorio de
instalacin para Windows PowerShell, que suele ser,
%windir%\System32\WindowsPowerShell\v1.0. Esta variable se puede
utilizar en las rutas de acceso de los archivos de Windows PowerShell.
Por ejemplo, el comando siguiente busca la palabra "variable" en los
temas de la Ayuda conceptual:
select-string -pattern variable -path $pshome\*.txt
$PSScriptRoot
Contiene el directorio desde el que se ejecuta el mdulo de script.
Esta variable permite a que los scripts utilicen la ruta de
acceso del mdulo para tener acceso a otros recursos.
$PsUICulture
Contiene el nombre de la referencia cultural de la interfaz de
usuario (IU) que est en uso actualmente en el sistema
operativo. La referencia cultural de la interfaz de usuario
determina qu cadenas de texto se utilizan para los elementos de la
interfaz de usuario, como los mens y los mensajes. Se trata del
valor de la propiedad System.Globalization.CultureInfo.CurrentUICulture.
Name del sistema. Para obtener el objeto System.Globalization.CultureInf
o del sistema, se utiliza el cmdlet Get-UICulture.
$PsVersionTable
Contiene una tabla hash de solo lectura que muestra los detalles sobre
la versin de Windows PowerShell que se est ejecutando en la sesin actual.
Esta tabla contiene los siguientes elementos:
CLRVersion: versin de Common Language Runtime (CLR)
BuildVersion: nmero de compilacin de la versin
actual
PSVersion: nmero de versin de Windows
PowerShell
WSManStackVersion: nmero de versin de la pila de
WS-Management
PSCompatibleVersions: versiones de Windows PowerShell que son
compatibles con la versin actual
SerializationVersion: versin del mtodo de serializacin
PSRemotingProtocolVersion:
versin del protocolo de administracin
remota de Windows PowerShell
$Pwd
Contiene un objeto de ruta de acceso que representa la ruta de
acceso completa del directorio actual.
$Sender
Contiene el objeto que ha generado este evento. Esta variable se rellena
nicamente en el bloque Action de un comando de registro de eventos. El
valor de esta variable puede encontrarse tambin en la propiedad Sender
del objeto PSEventArgs (System.Management.Automation.PSEventArgs) que
devuelve Get-Event.

$ShellID
Contiene el identificador del shell actual.
$SourceArgs
Contiene objetos que representan los argumentos de evento para el evento
que se est procesando. Esta variable se rellena nicamente en el bloque
Action de un comando de registro de eventos. El valor de esta variable
puede encontrarse tambin en la propiedad SourceArgs del objeto PSEventArgs
(System.Management.Automation.PSEventArgs) que devuelve Get-Event.
$SourceEventArgs
Contiene un objeto que representa el primer argumento de evento que deriva
de EventArgs para el evento que se est procesando. Esta variable se
rellena nicamente en el bloque Action de un comando de registro de
eventos.El valor de esta variable puede encontrarse tambin en la propiedad
SourceArgs del objeto PSEventArgs
(System.Management.Automation.PSEventArgs) que devuelve Get-Event.

$This
En un bloque de script que define una propiedad de script o
mtodo de script, la variable $This se refiere al objeto que
se extiende.
$True
Contiene TRUE. Esta variable se puede utilizar para
representar TRUE en los comandos y scripts.
VEA TAMBIN
about_Hash_Tables
about_Preference_Variables
about_Variables

You might also like