Просмотр и поиск псевдонимов командлетов в PowerShell
PowerShell интенсивно использует псевдонимы, благодаря им вы можете ввести в командную строку «ls», «dir», «pwd», «cd» и другие популярные в Linux или в командной строке Windows команды и вместо ошибки получить ожидаемый результат.
Вы можете создавать и импортировать свои собственные псевдонимы — этому будет посвящена одна из последующих статей сайта pwsh.ru, в данной статье мы изучим, как вывести уже имеющиеся псевдонимы (их много!), а также как искать по псевдонимам и по командлетам.
Командлет Get-Alias выводит псевдонимы текущей сессии. Сюда входят встроенные псевдонимы, псевдонимы, которые вы установили или импортировали, а также псевдонимы, которые вы добавили в свой профиль PowerShell.
По умолчанию Get-Alias принимает псевдоним и возвращает имя команды. Когда вы используете параметр -Definition, Get-Alias принимает имя команды и возвращает её псевдонимы.
Начиная с Windows PowerShell 3.0, Get-Alias отображает псевдонимы без дефисов в формате ПСЕВДОНИМ -> ЗНАЧЕНИЕ, чтобы упростить поиск необходимой информации.
Как вывести все псевдонимы
Чтобы показать все имеющиеся псевдонимы, запустите следующую команду:
Get-Alias
Будут выведены следующие столбцы:
- CommandType (тип команды, всегда «Alias»)
- Name (имя, именно здесь записан псевдоним в формате «ПСЕВДОНИМ -> ЗНАЧЕНИЕ», например «clear -> Clear-Host»
- Version (версия)
- Source (источник)
Как искать по именам псевдонима
Для поиска по именам псевдонима укажите его имя, это можно сделать с опцией -Name или пропустив её. Также имена можно передавать по конвейеру, следующие команды идентичны:
Get-Alias -Name '*rm*' Get-Alias '*rm*' echo '*rm*' | Get-Alias
Как вы уже могли понять, подстановочные знаки разрешены.
Смотрите также: Подстановочные символы в PowerShell
Как узнать значение псевдонима
Если вы хотите узнать, что означает псевдоним «echo» или «rm» или любой другой, то укажите его точное значение не используя подстановочных знаков:
Get-Alias echo
Если вы хотите вывести только значение псевдонима, то используйте следующую конструкцию:
(Get-Alias ПСЕВДОНИМ).Definition
Например:
(Get-Alias echo).Definition
Как узнать все псевдонимы команды
С помощью опции -Definition вы можете узнать все псевдонимы указанного элемента. Вы можете указать имя командлета, функции, скрипта, файла или исполняемого файла.
Этот параметр называется -Definition, поскольку он ищет имя элемента в свойстве Definition объекта псевдонима.
Пример:
Get-Alias -Definition '*where*'
Если вы хотите вывести только псевдонимы, то используйте конструкцию вида:
(Get-Alias -Definition '*КОМАНДЛЕТ*').Name
Чтобы создать новый псевдоним, используйте Set-Alias или New-Alias. Чтобы удалить псевдоним, используйте Remove-Item.
Примеры использования Get-Alias
Пример 1: Вывести список всех псевдонимов в текущем сеансе
Get-Alias CommandType Name ----------- ---- Alias % -> ForEach-Object Alias ? -> Where-Object Alias ac -> Add-Content Alias asnp -> Add-PSSnapin Alias cat -> Get-Content Alias cd -> Set-Location Alias chdir -> Set-Location Alias clc -> Clear-Content Alias clear -> Clear-Host Alias clhy -> Clear-History ...
Эта команда получает все псевдонимы в текущем сеансе.
В выходных данных показан формат «ПСЕВДОНИМ -> ЗНАЧЕНИЕ», который был введён в Windows PowerShell 3.0. Этот формат используется только для псевдонимов, не содержащих дефисов, поскольку псевдонимы с дефисами обычно являются предпочтительными именами для командлетов и функций, а не псевдонимами.
Пример 2: Найти псевдонимы по имени
Get-Alias -Name gp*, sp* -Exclude *ps
Эта команда получает все псевдонимы, начинающиеся с gp или sp, за исключением псевдонимов, заканчивающихся на ps.
Пример 3: Узнать псевдонимы для командлета
Get-Alias -Definition Get-ChildItem
Эта команда получает псевдонимы для командлета Get-ChildItem.
По умолчанию командлет Get-Alias получает имя элемента, если известен псевдоним. Параметр -Definition получает псевдоним, если вы знаете имя элемента.
Пример 4: Получить псевдонимы по свойству
Get-Alias | Where-Object {$_.Options -Match "ReadOnly"}
Эта команда получает все псевдонимы, в которых значение свойства Options равно ReadOnly. Эта команда обеспечивает быстрый способ поиска псевдонимов, встроенных в PowerShell, поскольку у них у всех параметр ReadOnly.
Options — это лишь одно свойство объектов AliasInfo, которые получает Get-Alias. Чтобы найти все свойства и методы объектов AliasInfo, введите
Get-Alias | Get-Member
Пример 5. Поиск псевдонимов по имени и фильтрация по начальной букве
Get-Alias -Definition "*-PSSession" -Exclude e* -Scope Global
Этот пример получает псевдонимы для команд, имена которых заканчиваются на «-PSSession», за исключением тех, которые начинаются на «e».
Команда использует параметр -Scope для применения команды в глобальной области. Это полезно в сценариях, когда вы хотите получить псевдонимы в определённой сессии.
Связанные статьи:
- Ошибка 0x800702e4 при запуске `C:\Program Files\PowerShell\7-preview\pwsh.exe' (РЕШЕНО) (50%)
- Как установить PowerShell в Linux (50%)
- Как проверить, запущен ли скрипт PowerShell или терминал PowerShell от имени администратора? (РЕШЕНО) (50%)
- Как запустить PowerShell с правами администратора (50%)
- Ошибка в PowerShell «New-Item: Access to the path '...' is denied» (РЕШЕНО) (50%)
- Как проверить версию PowerShell в Windows 11 (RANDOM - 50%)