Set-Alias

Crea o cambia un alias para un cmdlet u otro comando en la sesión actual de PowerShell.

Syntax

Set-Alias
   [-Name] <string>
   [-Value] <string>
   [-Description <string>]
   [-Option <ScopedItemOptions>]
   [-PassThru]
   [-Scope <string>]
   [-Force]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

El Set-Alias cmdlet crea o cambia un alias para un cmdlet o un comando, como una función, un script, un archivo u otro ejecutable. Un alias es un nombre alternativo que hace referencia a un cmdlet o comando. Por ejemplo, sal es el alias del Set-Alias cmdlet . Para más información, vea about_Aliases.

Un cmdlet puede tener varios alias, pero un alias solo se puede asociar a un cmdlet. Puede usar Set-Alias para reasignar un alias existente a otro cmdlet o cambiar las propiedades de un alias, como la descripción.

Un alias creado o modificado por Set-Alias no es permanente y solo está disponible durante la sesión actual de PowerShell. Cuando se cierra la sesión de PowerShell, se quita el alias.

Ejemplos

Ejemplo 1: Creación de un alias para un cmdlet

Este comando crea un alias en un cmdlet en la sesión actual de PowerShell.

PS> Set-Alias -Name list -Value Get-ChildItem

PS> Get-Alias -Name list

CommandType     Name
-----------     ----
Alias           list -> Get-ChildItem

El Set-Alias cmdlet crea un alias en la sesión actual de PowerShell. El parámetro Name especifica el nombre del alias, list. El parámetro Value especifica el cmdlet que ejecuta el alias.

Para ejecutar el alias, escriba list en la línea de comandos de PowerShell.

Ejemplo 2: Reasignación de un alias existente a otro cmdlet

Este comando reasigna un alias existente para ejecutar otro cmdlet.

PS> Get-Alias -Name list

CommandType     Name
-----------     ----
Alias           list -> Get-ChildItem

PS> Set-Alias -Name list -Value Get-Location

PS> Get-Alias -Name list

CommandType     Name
-----------     ----
Alias           list -> Get-Location

El Get-Alias cmdlet usa el parámetro Name para mostrar el list alias. El list alias está asociado al Get-ChildItem cmdlet . Cuando se ejecuta el list alias, se muestran los elementos del directorio actual.

El Set-Alias cmdlet usa el parámetro Name para especificar el list alias. El parámetro Value asocia el alias al Get-Location cmdlet .

El Get-Alias cmdlet usa el parámetro Name para mostrar el list alias. El list alias está asociado al Get-Location cmdlet . Cuando se ejecuta el list alias, se muestra la ubicación del directorio actual.

Ejemplo 3: Creación y cambio de un alias de solo lectura

Este comando crea un alias de solo lectura. La opción de solo lectura impide cambios no deseados en un alias. Para cambiar o eliminar un alias de solo lectura, use el parámetro Force .

Set-Alias -Name loc -Value Get-Location -Option ReadOnly -PassThru |
    Format-List -Property *

DisplayName         : loc -> Get-Location
Definition          : Get-Location
Options             : ReadOnly
Description         :
Name                : loc
CommandType         : Alias

$Parameters = @{
    Name        =  'loc'
    Value       =  (Get-Location)
    Option      =  'ReadOnly'
    Description =  'Displays the current directory'
    Force       = $true
    PassThru    = $true
}
Set-Alias @Parameters | Format-List -Property *

DisplayName         : loc -> Get-Location
Definition          : Get-Location
Options             : ReadOnly
Description         : Displays the current directory
Name                : loc
CommandType         : Alias

El Set-Alias cmdlet crea un alias en la sesión actual de PowerShell. El parámetro Name especifica el nombre del alias, loc. El parámetro Value especifica el Get-Location cmdlet que ejecuta el alias. El parámetro Option especifica el valor ReadOnly . El parámetro PassThru representa el objeto alias y envía el objeto a la canalización al Format-List cmdlet . Format-List usa el parámetro Property con un asterisco (*) para que se muestre cada propiedad. La salida de ejemplo muestra una lista parcial de esas propiedades.

El loc alias se cambia con la adición de dos parámetros. Descripción agrega texto para explicar el propósito del alias. El parámetro Force es necesario porque el loc alias es de solo lectura. Si no se usa el parámetro Force , se produce un error en el cambio.

Ejemplo 4: Creación de un alias en un archivo ejecutable

En este ejemplo se crea un alias en un archivo ejecutable en el equipo local.

PS> Set-Alias -Name np -Value C:\Windows\notepad.exe

PS> Get-Alias -Name np

CommandType     Name
-----------     ----
Alias           np -> notepad.exe

El Set-Alias cmdlet crea un alias en la sesión actual de PowerShell. El parámetro Name especifica el nombre del alias, np. El parámetro Value especifica la ruta de acceso y el nombre C:\Windows\notepad.exede la aplicación . El Get-Alias cmdlet usa el parámetro Name para mostrar que el np alias está asociado a notepad.exe.

Para ejecutar el alias, escriba np en la línea de comandos de PowerShell para abrir notepad.exe.

Ejemplo 5: Creación de un alias para un comando con parámetros

En este ejemplo se muestra cómo asignar un alias a un comando con parámetros.

Puede crear un alias para un cmdlet, como Set-Location. No se puede crear un alias para un comando con parámetros y valores, como Set-Location -Path C:\Windows\System32. Para crear un alias para un comando, cree una función que incluya el comando y, luego, cree un alias para la función. Para obtener más información, consulte about_Functions.

Function CD32 {Set-Location -Path C:\Windows\System32}

Set-Alias -Name Go -Value CD32

Se crea una función denominada CD32 . La función usa el Set-Location cmdlet con el parámetro Path para especificar el directorio , C:\Windows\System32.

El Set-Alias cmdlet crea un alias para la función en la sesión actual de PowerShell. El parámetro Name especifica el nombre del alias, Go. El parámetro Value especifica el nombre de la función, CD32.

Para ejecutar el alias, escriba Go en la línea de comandos de PowerShell. La CD32 función se ejecuta y cambia al directorio C:\Windows\System32.

Ejemplo 6: Opciones de actualización de un alias existente

En este ejemplo se muestra cómo asignar varias opciones mediante el parámetro Option .

Siguiendo con el ejemplo anterior, establezca el alias Go como ReadOnly y Private.

Set-Alias -Name Go -Option ReadOnly, Private

El alias Go ya debería existir. Después de ejecutar el comando, el alias no se puede cambiar sin usar el parámetro Force y solo está disponible en el ámbito actual.

Parámetros

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Especifica una descripción del alias. Se puede escribir cualquier cadena. Si la descripción incluye espacios, escríbalo entre comillas simples.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Use el parámetro Force para cambiar o eliminar un alias que tenga el parámetro Option establecido en ReadOnly.

El parámetro Force no puede cambiar ni eliminar un alias con el parámetro Option establecido en Constant.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Especifica el nombre de un nuevo alias. Un nombre de alias puede contener caracteres alfanuméricos y guiones. Los nombres de alias no pueden ser numéricos, como 123.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Option

Establece el valor de la propiedad Option del alias. Valores como ReadOnly y Constant protegen un alias de cambios no deseados. Para ver la propiedad Option de todos los alias de la sesión, escriba Get-Alias | Format-Table -Property Name, Options -Autosize.

Los valores aceptables para este parámetro son los siguientes:

  • AllScope : el alias se copia en todos los ámbitos nuevos que se crean.
  • Constant - No se puede cambiar ni eliminar.
  • None : no establece ninguna opción y es el valor predeterminado.
  • Private : el alias solo está disponible en el ámbito actual.
  • ReadOnly : no se puede cambiar ni eliminar a menos que se use el parámetro Force .
  • Unspecified

Estos valores se definen como una enumeración basada en marcas. Puede combinar varios valores para establecer varias marcas mediante este parámetro. Los valores se pueden pasar al parámetro Option como una matriz de valores o como una cadena separada por comas de esos valores. El cmdlet combina los valores mediante una operación binary-OR. Pasar valores como una matriz es la opción más sencilla y también permite usar la finalización de tabulación en los valores.

Type:ScopedItemOptions
Accepted values:AllScope, Constant, None, Private, ReadOnly, Unspecified
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Devuelve un objeto que representa el alias. Use un cmdlet de formato como Format-List para mostrar el objeto . De forma predeterminada, Set-Alias no genera ninguna salida.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Especifica el ámbito en el que este alias es válido. El valor predeterminado es Local. Para obtener más información, consulte about_Scopes.

Los valores aceptables son los siguientes:

  • Global
  • Local
  • Private
  • Numbered scopes
  • Script
Type:String
Accepted values:Global, Local, Private, Numbered scopes, Script
Position:Named
Default value:Local
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Value

Especifica el nombre del cmdlet o comando que ejecuta el alias. El parámetro Value es la propiedad Definition del alias.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

None

De forma predeterminada, este cmdlet no devuelve ninguna salida.

AliasInfo

Cuando se usa el parámetro PassThru , este cmdlet devuelve un objeto AliasInfo que representa el alias.

Notas

PowerShell incluye los siguientes alias para Set-Alias:

  • Todas las plataformas:
    • sal

PowerShell incluye alias integrados que están disponibles en cada sesión de PowerShell. El Get-Alias cmdlet muestra los alias disponibles en una sesión de PowerShell.

Para crear un alias, use los cmdlets Set-Alias o New-Alias. En PowerShell 6, para eliminar un alias, use el Remove-Alias cmdlet . Remove-Item se acepta por compatibilidad con versiones anteriores, como para scripts creados con versiones anteriores de PowerShell. Use un comando como Remove-Item -Path Alias:aliasname.

Para crear un alias que esté disponible en cada sesión de PowerShell, agréguelo al perfil de PowerShell. Para obtener más información, consulte about_Profiles.

Un alias se puede guardar y reutilizar en otra sesión de PowerShell mediante una exportación e importación. Para guardar un alias en un archivo, use Export-Alias. Para agregar un alias guardado a una nueva sesión de PowerShell, use Import-Alias.