New Alias - PowerShell


New-Alias creates an alias, which is a shortcut for a frequently used command or script. Aliases simplify command input, making it easier to remember and type complex or frequently used commands. They are particularly useful in interactive PowerShell sessions.


New-Alias [-Name] <string> -Value <{string | scriptblock}> [-Description <string>] [-Force] [-Confirm] [-WhatIf] [-PassThru]


| Option/Flag | Description | Default |
| -Name | Sets the name for the alias | Required |
| -Value | Sets the command or script the alias will invoke | Required |
| -Description | Provides a description for the alias | None |
| -Force | Overwrites an existing alias with the same name | False |
| -Confirm | Prompts the user for confirmation before creating the alias | False |
| -WhatIf | Simulates the command without executing it | False |
| -PassThru | Returns the created alias object | False |


Example 1: Creating a simple alias

New-Alias -Name ls -Value Get-ChildItem

Example 2: Creating an alias with a description

New-Alias -Name gp -Value Get-Process -Description "Get running processes"

Example 3: Overwriting an existing alias

New-Alias -Name ls -Value Get-ChildItem -Force

Common Issues

  • Cannot alias a keyword or cmdlet name: Keywords and certain cmdlets cannot be aliased.
  • Alias name already exists: If an alias with the specified name already exists, it can be overwritten using the -Force flag.


Aliases can be combined with other PowerShell features, such as scripts and functions, for more advanced tasks:

  • Create a script that defines multiple aliases and executes them in sequence.
  • Create a function that accepts an alias name and dynamically removes it.
  • Get-Alias: Retrieves existing aliases.
  • Remove-Alias: Removes aliases.
  • Set-Alias: Modifies existing aliases.