Nombre de proveedor
Alias
Unidades
Alias:
Descripción breve
Proporciona acceso a los alias de Windows PowerShell y los valores que representan.
Descripción detallada
El proveedor de alias de Windows PowerShell permite obtener, agregar, cambiar, borrar y eliminar alias en Windows PowerShell.
Un alias es un nombre alternativo de un cmdlet, una función o un archivo ejecutable. Windows PowerShell incluye un conjunto de alias integrados. Además, el usuario puede agregar sus propios alias a la sesión actual y a su perfil de Windows PowerShell.
El proveedor Alias es un espacio de nombres sin formato que únicamente contiene los objetos de alias. Los alias no tienen elementos secundarios.
Cada alias es una instancia de la clase System.Management.Automation.AliasInfo.
El proveedor de alias expone su almacén de datos en la unidad Alias:. Para trabajar con alias, se puede cambiar la ubicación a la unidad Alias: mediante el comando siguiente:
Set-Location alias:
También es posible trabajar desde cualquier otra unidad de Windows PowerShell. Para hacer referencia a un alias desde otra ubicación, se utiliza el nombre de la unidad, "Alias:", en la ruta de acceso.
Windows PowerShell incluye un conjunto de cmdlets diseñados para ver y cambiar alias:
Export-Alias
Get-Alias
Import-Alias
New-Alias
Set-Alias
Si se usan estos cmdlets, no es necesario especificar la unidad Alias: en el nombre.
El proveedor Alias admite todos los cmdlets que tienen el sustantivo Item, salvo el cmdlet Invoke-Item. Además, admite los cmdlets Get-Content y Set-Content. El proveedor Alias no admite los cmdlets que tienen el sustantivo ItemProperty. Tampoco admite el parámetro Filter de ningún cmdlet.
Todos los cambios realizados en los alias afectan únicamente a la sesión actual. Para guardar los cambios, es preciso agregarlos al perfil de Windows PowerShell. También es posible utilizar los cmdlets Export-Alias e Import-Alias.
Ejemplos
Tener acceso a la unidad Alias:
-------------------------- EJEMPLO 1 --------------------------
Este comando cambia la ubicación actual a la unidad Alias:. Puede usar este comando desde cualquier unidad de Windows PowerShell. Para volver a una unidad del sistema de archivos, escriba el nombre de la unidad. Por ejemplo, escriba "set-location c:".
set-location alias:
Obtener alias
-------------------------- EJEMPLO 1 --------------------------
Este comando obtiene una lista de todos los alias de la sesión actual. Puede usar este comando en cualquier unidad de Windows PowerShell.
get-item -path alias:
-------------------------- EJEMPLO 2 --------------------------
Este comando obtiene el alias "ls". Dado que incluye la ruta de acceso, se puede utilizar en cualquier unidad de Windows PowerShell.
get-item -path alias:ls
Si se encuentra en la unidad Alias:, puede omitir el nombre de la unidad en la ruta de acceso.
-------------------------- EJEMPLO 3 --------------------------
Este comando obtiene una lista de alias asociados al cmdlet Get-ChildItem. Utiliza la propiedad Definition, que almacena el nombre de cmdlet.
get-item -path alias:* | where-object {$_.Definition -eq "Get-Childitem"}
Cuando el elemento con alias es un archivo ejecutable, la propiedad Definition contiene la ruta de acceso completa del archivo.
-------------------------- EJEMPLO 4 --------------------------
Este comando obtiene la lista de todos los alias cuando la ubicación actual es la unidad Alias:. Usa un carácter comodín (*) para indicar todo el contenido de la ubicación actual.
get-item -path *
En la unidad Alias:, un punto (.), que representa la ubicación actual, y un carácter comodín (*), que representa todos los elementos de la ubicación actual, tienen el mismo efecto. Por ejemplo, "get-item -path ." o "get-item *" producen el mismo resultado.
Crear un nuevo alias
-------------------------- EJEMPLO 1 --------------------------
Este comando crea el alias "serv" para el cmdlet Get-Service. Dado que la ubicación actual se encuentra en la unidad Alias:, el valor del parámetro Path es un punto (.). El punto representa la ubicación actual.
Este comando también usa el parámetro dinámico Options para establecer las opciones AllScope y Constant en el alias. El parámetro Options solo está disponible en el cmdlet New-Item cuando se encuentra en la unidad Alias:.
new-item -path . -name serv -value Get-Service -Options "AllScope,Constant"
Si se encuentra en la unidad Alias:, puede omitir el nombre de la unidad en la ruta de acceso.
-------------------------- EJEMPLO 2 --------------------------
Puede crear un alias para cualquier elemento que invoque un comando. Este comando crea el alias "np" para Notepad.exe.
new-item -path alias:np -value c:\windows\notepad.exe
-------------------------- EJEMPLO 3 --------------------------
Puede crear un alias para cualquier función. Esta característica permite crear un alias que incluya un cmdlet y los parámetros correspondientes.
El primer comando crea una función llamada CD32 que cambia el directorio actual al directorio System32. El segundo comando crea el alias "go" para la función CD32. El separador de comandos es el punto y coma (;).
Cuando el comando se completa, se puede usar "CD32" o "go" para invocar la función.
function CD32 {set-location -path c:\windows\system32} set-item -path alias:go -value CD32
Mostrar las propiedades y métodos de los alias
-------------------------- EJEMPLO 1 --------------------------
Este comando usa el cmdlet Get-Item para obtener todos los alias. El operador de canalización (|) envía los resultados al cmdlet Get-Member, que muestra los métodos y las propiedades del objeto.
get-item -path alias:* | get-member
Cuando se canaliza una colección de objetos a Get-Member, por ejemplo, la colección de alias de la unidad Alias:, Get-Member evalúa cada objeto de esa colección por separado. A continuación, Get-Member devuelve información sobre cada tipo de objeto que encuentra. Si todos los objetos son del mismo tipo, devuelve información acerca del único tipo de objeto. En este caso, todos los alias son objetos AliasInfo. Para obtener información acerca de la colección de objetos AliasInfo, utilice el parámetro InputObject de Get-Member. Por ejemplo, utilice el siguiente comando: Get-Member -InputObject (Get-Item alias:*) Si se usa InputObject, Get-Member evalúa la colección, no los objetos que esta contiene.
-------------------------- EJEMPLO 2 --------------------------
Este comando enumera los valores de las propiedades del alias "dir". Usa el cmdlet Get-Item para obtener un objeto que representa el alias "dir". El operador de canalización (|) envía los resultados al comando Format-List. El comando Format-List usa el parámetro Property con el carácter comodín (*) para dar formato y mostrar los valores de todas las propiedades del alias "dir".
get-item alias:dir | format-list -property *
Cambiar las propiedades de un alias
-------------------------- EJEMPLO 1 --------------------------
Se puede usar el cmdlet Set-Item con el parámetro dinámico Options para cambiar el valor de la propiedad Options de un alias.
Este comando establece las opciones AllScope y ReadOnly para el alias "dir". El comando usa el parámetro dinámico Options del cmdlet Set-Item. El parámetro Options está disponible en Set-Item únicamente cuando se usa con el proveedor Alias o Function.
set-item -path alias:dir -options "AllScope,ReadOnly"
-------------------------- EJEMPLO 2 --------------------------
Este comando utiliza el cmdlet Set-Item para cambiar el alias "gp" de modo que represente el cmdlet Get-Process en lugar del cmdlet Get-ItemProperty. El parámetro Force es necesario porque el valor de la propiedad Options del alias "gp" está establecido en ReadOnly. Dado que el comando se envía desde la unidad Alias:, la unidad no se especifica en la ruta de acceso.
set-item -path gp -value get-process -force
El cambio afecta a las cuatro propiedades que definen la asociación entre el alias y el comando. Para ver el efecto del cambio, escriba el comando siguiente: get-item -path gp | format-list -property *
-------------------------- EJEMPLO 3 --------------------------
Este comando usa el cmdlet Rename-Item para cambiar el alias "popd" a "pop".
rename-item -path alias:popd -newname pop
Copiar un alias
-------------------------- EJEMPLO 1 --------------------------
Este comando copia el alias pushd de modo que se crea un nuevo alias push para el cmdlet Push-Location.
copy-item -path alias:pushd -destination alias:push
Cuando se crea el nuevo alias, el valor de propiedad Description es null. Además, el valor de su propiedad Option es None. Si el comando se emite desde la unidad Alias:, se puede omitir el nombre de la unidad en el valor del parámetro Path.
Eliminar un alias
-------------------------- EJEMPLO 1 --------------------------
Este comando elimina el alias serv de la sesión actual. Puede usar este comando en cualquier unidad de Windows PowerShell.
remove-item -path alias:serv
Si se encuentra en la unidad Alias:, puede omitir el nombre de la unidad en la ruta de acceso.
-------------------------- EJEMPLO 2 --------------------------
Este comando elimina los alias que comienzan por "s". No elimina los alias con el atributo de solo lectura.
clear-item -path alias:s*
-------------------------- EJEMPLO 3 --------------------------
Este comando elimina todos los alias de la sesión actual, excepto los que tengan el valor Constant para la propiedad Options. Sin el parámetro Force, el comando no elimina los alias cuya propiedad Options tenga el valor ReadOnly.
remove-item alias:* -force
Parámetros dinámicos
Los parámetros dinámicos son los parámetros de cmdlet que un proveedor de Windows PowerShell agrega y solo están disponibles cuando el cmdlet se utiliza en la unidad habilitada por el proveedor.
Options <System.Management.Automation.ScopedItemOptions>
Determina el valor de la propiedad Options de un alias.
Value | Description |
---|---|
None |
Ninguna opción. Es el valor predeterminado. |
Constant |
No se puede eliminar el alias y sus propiedades no se pueden cambiar. El valor Constant está disponible únicamente cuando se crea un alias. No se puede cambiar la opción de un alias existente a Constant. |
Private |
El alias se muestra solamente en el ámbito actual, no en los ámbitos secundarios. |
ReadOnly |
No se pueden cambiar las propiedades del alias, excepto con el parámetro Force. Se puede usar Remove-Item para eliminar el alias. |
AllScope |
El alias se copia en los nuevos ámbitos que se creen. |
Cmdlets admitidos
Vea también