Skip to content
PowerShell Commands

New-Alias

New-Alias [-Name*] <String> [-Value*] <String> [-Confirm] [-Description <String>] [-Force] [-Option {None | ReadOnly| Constant | Private | AllScope | Unspecified}] [-PassThru] [-Scope <String>] [-WhatIf] [<CommonParameters>]

The New-Alias cmdlet creates a new alias in the current Windows PowerShell session. Aliases created by using New-Alias are not saved after you exit the session or close Windows PowerShell. You can use the Export-Alias cmdlet to save your alias information to a file. You can later use Import-Alias to retrieve that saved alias information.

Parameters

-Confirm [<SwitchParameter>]

  • Default value is False
  • Accepts pipeline input False

Prompts you for confirmation before running the cmdlet.

-Description <String>

  • Default value is None
  • Accepts pipeline input False

Specifies a description of the alias. You can type any string. If the description includes spaces, enclose it in quotation marks.

-Force [<SwitchParameter>]

  • Default value is False
  • Accepts pipeline input False

Indicates that the cmdlet acts like Set-Alias if the alias named already exists.

-Name <String>

  • This value is required
  • Default value is None
  • Accepts pipeline input ByPropertyName

Specifies the new alias. You can use any alphanumeric characters in an alias, but the first character cannot be a number.

-Option <ScopedItemOptions>

  • Default value is None
  • Accepts pipeline input False

Specifies that the cmdlet sets the value of the Options property of the alias. The acceptable values for this parameter are:

- None. Sets no options. (None is the default.) - ReadOnly. Can be deleted. Cannot be not changed, except by using the Force parameter. - Constant. Cannot be deleted or changed. - Private. The alias is available only in the current scope. - AllScope. The alias is copied to any new scopes that are created.

To see the Options * * property of all aliases in the session, type `Get-Alias | Format-Table -Property name, options -autosize`.

-PassThru [<SwitchParameter>]

  • Default value is False
  • Accepts pipeline input False

Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.

-Scope <String>

  • Default value is None
  • Accepts pipeline input False

Specifies the scope of the new alias. The acceptable values for this parameter are:

- Global

- Local

- Script

- A number relative to the current scope (0 through the number of scopes, where 0 is the current scope and 1 is its parent).

Local is the default.

-Value <String>

  • This value is required
  • Default value is None
  • Accepts pipeline input ByPropertyName

Specifies the name of the cmdlet or command element that is being aliased.

-WhatIf [<SwitchParameter>]

  • Default value is False
  • Accepts pipeline input False

Shows what would happen if the cmdlet runs. The cmdlet is not run.

<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.

Inputs
None
You cannot pipe input to this cmdlet.
Outputs
None or System.Management.Automation.AliasInfo
When you use the Passthru parameter, New-Alias generates a System.Management.Automation.AliasInfo object representing the new alias. Otherwise, this cmdlet does not generate any output.
Examples
  1. Create an alias for a cmdlet:
    PS C:\> New-Alias -Name "List" Get-ChildItem
    

    This command creates an alias named List to represent the Get-ChildItem cmdlet.

  2. Create a read-only alias for a cmdlet:
    PS C:\> New-Alias -Name "W" -Value Get-WmiObject -Description "quick wmi alias" -Option ReadOnly
    PS C:\> Get-Alias -Name "W" | Format-List *
    

    This command creates an alias named W to represent the Get-WmiObject cmdlet. It creates a description, quick wmi alias, for the alias and makes it read-only. The last line of the command uses Get-Alias to get the new alias and pipes it to Format-List to display all of the information about it.

Additional Notes
 To create a new alias, use Set-Alias or New-Alias. To change an alias, use Set-Alias *. To delete an alias, 
 use Remove-Item.

 *

This work is licensed under a Creative Commons Attribution 4.0 International. It is attributed to Microsoft Corporation and can be found here.

PowerShell Commands