Alias в PowerShell

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

Если в алиасе используется путь с пробелами, их можно экранировать с помощью символа `

Set-Alias -Name app -Value C:\Program` Files\App\app.exe

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

Для того чтобы алиасы и функции сохранялись после перезагрузки их нужно добавить в файл с настройками профиля 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

Мои алиасы

Set-Alias -Name firefox -Value C:\Program` Files\Mozilla` Firefox\firefox.exe Set-Alias -Name vi -Value C:\Program` Files\Vim\vim91\vim.exe Set-Alias -Name reboot -Value Restart-Computer Set-Alias -Name tcpython -Value "C:\Program Files (x86)\SmartBear\TestComplete 15\x64\Bin\Extensions\Python\Python310\python.exe" Set-Alias -Name tesseract -Value "C:\Program Files\Tesseract-OCR\tesseract.exe"

Автор статьи: Андрей Олегович

Изображение баннера