Alias в PowerShell

Содержание
Get-Alias: существующие алиасы
Удалить алиас
Создать алиас
Конфигурация
Ошибки
Похожие статьи

Get-Alias

Чтобы получить список существующих алиасов нужно выполнить

Get-Alias

CommandType Name Version Source ----------- ---- ------- ------ Alias % -> ForEach-Object Alias ? -> Where-Object Alias ac -> Add-Content Alias asnp -> Add-PSSnapin Alias badalias -> Wrong-Command Alias cat -> Get-Content Alias cd -> Set-Location Alias CFS -> ConvertFrom-String 3.1.0.0 Microsoft.PowerShell.Utility Alias chdir -> Set-Location Alias clc -> Clear-Content Alias clear -> Clear-Host …

Стандартных алиасов очень много, здесь вы можете увидеть начало списка и одни неправильный алиас, который мы удалим здесь

Удаление алиаса

Начиная с версии 6 в PowerShell можно удалять алиасы командой Remove-Alias

О том как установить PowerShell 7 можете прочитать здесь

Remove-Alias badalias

В более ранних версиях нужно пользоваться командой Remove-Item

Remove-Item Alias:badalias

Проверку удаления алиаса проще всего сделать с помощью Select-String

Get-Alias | Select-String -Pattern "badalias"

Создание алиаса

Создать алиас можно командой Set-Alias

Set-Alias -Name reboot -Value Restart-Computer

Конфигурация

Для того чтобы алиасы и функции сохранялись после перезагрузки их нужно добавить в файл с настройками профиля PowerShell

Его расположение можно узнать командой

$profile

C:\Users\Andrei\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

Если $profile показывает несуществующий путь, то файл с настройками можно создать вручную.

New-Item -Path $profile -Force -ItemType "file"

Затем файл можно открыть и отредактировать в блокноте

notepad $profile

Set-Alias -Name reboot -Value Restart-Computer

PowerShell нужно перезапустить.

Пример алиаса, который запускает Python , которым пользуется TestComplete

Set-Alias -Name tcpython -Value "C:\Program Files (x86)\SmartBear\TestComplete 15\x64\Bin\Extensions\Python\Python310\python.exe"

Ошибки

Remove-Alias : The term 'Remove-Alias' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + Remove-Alias somealias + ~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Remove-Alias:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

Remove-Alias поддерживается только с шестой версии PowerShell

Нужно обновить PowerShell или использовать команду Remove-Item

Remove-Item Alias:somealias