Documentos de Académico
Documentos de Profesional
Documentos de Cultura
about_Scopes
DESCRIPCIN BREVE
Explica el concepto de mbito en Windows PowerShell y muestra cmo
establecer y cambiar el mbito de los elementos.
DESCRIPCIN DETALLADA
Windows PowerShell protege el acceso a las variables, los alias,
las funciones y las unidades de Windows PowerShell (PSDrives) limitando
las ubicaciones donde se pueden leer y cambiar. Mediante unas pocas
reglas sencillas de mbito, Windows PowerShell ayuda a garantizar que
no se pueda cambiar accidentalmente un elemento que no debe modificarse.
A continuacin figuran las reglas bsicas de mbito:
- Un elemento que se incluye en un mbito est visible en el
mbito donde se cre y en cualquier mbito secundario,
a menos que se establezca explcitamente dicho elemento como
privado. Las variables, los alias, las funciones y las unidades
de Windows PowerShell pueden colocarse en uno o varios mbitos.
- Un elemento que se crea en un mbito puede cambiarse
nicamente en el mbito donde se cre, a menos que se
especifique explcitamente un mbito diferente.
Si se crea un elemento en un mbito y dicho elemento comparte su
nombre con un elemento en otro mbito, puede que el elemento
original quede oculto bajo el nuevo elemento. Sin embargo, no se
invalida ni se modifica.
mbitos de Windows PowerShell
Los mbitos de Windows PowerShell tienen nombres y nmeros.
Los mbitos con nombre especifican un mbito absoluto. Los nmeros son
relativos y reflejan la relacin que existe entre los mbitos.
mbito global:
Es el mbito que est en vigor cuando se inicia Windows
PowerShell. Las variables y funciones que estn presentes
cuando se inicia Windows PowerShell se han creado en el
mbito global. Esto incluye las variables automticas y las
variables de preferencia. Tambin estn incluidos los alias, las
variables y las funciones que estn en los perfiles de Windows
PowerShell.
mbito local:
Es el mbito actual. El mbito local puede ser el mbito global o
cualquier otro mbito.
mbito de script:
Es el mbito que se crea durante la ejecucin de un archivo
de script. En el mbito de script se ejecutan nicamente los
comandos del script. Para los comandos de un script, el mbito
de script es el mbito local.
mbito privado:
Los elementos que se encuentran en el mbito privado no se
pueden ver fuera del mbito actual. Se puede utilizar un mbito privado
para crear una versin privada de un elemento que lleve el mismo nombre
en otro mbito.
mbitos numerados:
Para hacer referencia a los mbitos, se puede usar un nombre
o un nmero que describe la posicin relativa de un mbito
con respecto a otro.
El mbito 0 representa el mbito actual o local. El mbito 1 indica
el mbito principal inmediato. El mbito 2 indica el mbito
principal del mbito principal, etc. Los mbitos numerados resultan
tiles si se han creado muchos mbitos recursivos.
mbitos principales y secundarios
Se puede crear un mbito nuevo ejecutando un script o una funcin,
creando una sesin o iniciando una nueva instancia de Windows PowerShell.
Cuando se crea un mbito nuevo, el resultado es un mbito principal
(mbito original) y un mbito secundario (mbito que se ha creado).
En Windows PowerShell, todos los mbitos son mbitos secundarios
del mbito global, pero se pueden crear muchos mbitos y muchos
mbitos recursivos.
A menos que se establezcan explcitamente los elementos como privados,
los elementos del mbito principal estn disponibles en el mbito
secundario. Sin embargo, los elementos que se crean y se modifican en
el mbito secundario no afectan al mbito principal, a menos que se
especifique explcitamente el mbito al crear los elementos.
Herencia
Un mbito secundario no hereda las variables ni los alias ni las
funciones del mbito principal. A menos que un elemento sea
privado, el mbito secundario puede ver los elementos del mbito
principal. Adems, puede cambiar los elementos especificando
explcitamente el mbito principal, pero los elementos no forman
parte del mbito secundario.
Sin embargo, un mbito secundario se crea con un conjunto de
elementos. Normalmente, incluye todos los alias que tienen la opcin
AllScope. Esta opcin se aborda ms adelante en este tema. Incluye
todas las variables que tienen la opcin AllScope, adems de algunas
variables que se pueden usar para personalizar el mbito, como
MaximumFunctionCount.
Para obtener los elementos de un mbito concreto, utilice el
parmetro Scope de Get-Variable o Get-Alias.
Por ejemplo, para obtener todas las variables del mbito local, escriba:
get-variable -scope local
Para obtener todas las variables del mbito global, escriba:
get-variable -scope global
Modificadores de mbito
Para especificar el mbito de una nueva variable, un nuevo alias
o una nueva funcin, use un modificador de mbito. Los valores
vlidos de un modificador son Global y Script.
La sintaxis de un modificador de mbito en una variable es:
$[<modificador de mbito>]:<nombre> = <valor>
La sintaxis de un modificador de mbito en una funcin es:
funcin [<modificador de mbito>]:<nombre> {<cuerpo de la funcin>}
El mbito predeterminado de los scripts es el mbito de script.
El mbito predeterminado de las funciones y los alias es el
mbito local, incluso si se definen en un script.
El comando siguiente, que no usa un modificador de mbito, crea
una variable en el mbito actual o local:
$a = "uno"
Para crear la misma variable en el mbito global, use el
modificador de mbito Global:
$global:a = "uno"
Para crear la misma variable en el mbito de script, use el
modificador de mbito de script:
$script:a = "uno"
Tambin se puede usar un modificador de mbito en las funciones. La
siguiente definicin de funcin crea una funcin en el mbito global:
function global:Hola
{
write-host "Hola a todos"
}
Los modificadores de mbito tambin se pueden usar para hacer