Поделиться через


Alias Provider

Имя поставщика

Alias

Диски

Alias:

Краткое описание

Предоставляет доступ к псевдонимам Windows PowerShell и представленным ими значениям.

Подробное описание

Поставщик Windows PowerShell Alias позволяет извлекать, добавлять, изменять, очищать и удалять псевдонимы в Windows PowerShell.

Псевдоним представляет собой альтернативное имя командлета, функции или исполняемого файла. Оболочка Windows PowerShell включает набор встроенных псевдонимов. Кроме того, пользователь может добавлять собственные псевдонимы в текущий сеанс и свой профиль Windows PowerShell.

Поставщик Alias представляет собой плоское пространство имен, содержащее только объекты псевдонимов. У псевдонимов нет дочерних элементов.

Каждый псевдоним является экземпляром класса System.Management.Automation.AliasInfo.

Поставщик Alias отображает свое хранилище данных как диск Alias:. Для работы с псевдонимами можно изменить свое положение на диск Alias: с помощью следующей команды:

Set-Location alias:

Можно также работать в оболочке Windows PowerShell с любого другого диска. Для ссылки на псевдоним из другого положения в пути следует использовать имя диска "Alias:".

Оболочка Windows PowerShell включает набор командлетов, предназначенных для просмотра и изменения псевдонимов:

Export-Alias

Get-Alias

Import-Alias

New-Alias

Set-Alias

При использовании этих командлетов не нужно указывать диск "Alias:" в имени.

Поставщик Alias поддерживает все командлеты, содержащие слово Item, кроме командлета Invoke-Item. Кроме того, он поддерживает командлеты Get-Content и Set-Content. Поставщик Alias не поддерживает командлеты, содержащие слово ItemProperty. Кроме того, поставщик Alias не поддерживает параметр Filter в любых командлетах.

Все изменения в псевдонимах затрагивают только текущий сеанс. Чтобы сохранить изменения, их следует добавить в профиль Windows PowerShell. Можно также использовать командлеты Export-Alias и Import-Alias.

Примеры

Обращение к диску Alias:

-------------------------- ПРИМЕР 1 --------------------------

Эта команда меняет текущее положение на диск Alias:. Эту команду можно использовать с любого диска в оболочке Windows PowerShell. Чтобы вернуться к диску файловой системы, введите имя диска. Например, введите команду "set-location c:".

set-location alias:

Получение псевдонимов

-------------------------- ПРИМЕР 1 --------------------------

Эта команда возвращает список всех псевдонимов в текущем сеансе. Эту команду можно использовать на любом диске Windows PowerShell.

get-item -path alias:

-------------------------- ПРИМЕР 2 --------------------------

Это команда возвращает псевдоним "ls". Так как он содержит путь, его можно использовать на любом допустимом диске Windows PowerShell.

get-item -path alias:ls

Если диск Alias: уже открыт, имя этого диска в пути можно не указывать.

-------------------------- ПРИМЕР 3 --------------------------

Эта команда возвращает список псевдонимов, связанных с командлетом Get-ChildItem. Для хранения имени командлета в ней используется свойство Definition.

get-item -path alias:* | where-object {$_.Definition -eq "Get-Childitem"}

Если элемент с псевдонимом является исполняемым файлом, свойство Definition содержит полный путь к файлу.

-------------------------- ПРИМЕР 4 --------------------------

Эта команда возвращает список всех псевдонимов, если текущим положением является диск Alias:. Подстановочный знак (*) используется для указания на все содержимое текущего положения.

get-item -path *

На диске Alias: точка (.), представляющая текущее положение, и подстановочный знак (*), представляющий все элементы текущего положения, имеют одинаковый эффект. Например, одинаковый результат получится при выполнении команд "get-item -path ." и "get-item *".

Создание нового псевдонима

-------------------------- ПРИМЕР 1 --------------------------

Эта команда создает псевдоним "serv" для командлета Get-Service. Так как текущим местоположением является диск Alias:, значение параметра Path — точка (.). Точка обозначает текущее местоположение.

Эта команда также использует динамический параметр Options для задания параметров псевдонима AllScope и Constant. Параметр Options доступен в командлете New-Item только если открыт диск Alias:.

new-item -path . -name serv -value Get-Service -Options "AllScope,Constant"

Если диск Alias: уже открыт, имя этого диска в пути можно не указывать.

-------------------------- ПРИМЕР 2 --------------------------

Псевдоним может быть создан для любого элемента, вызывающего команду. Эта команда создает псевдоним "np" для Notepad.exe.

new-item -path alias:np -value c:\windows\notepad.exe

-------------------------- ПРИМЕР 3 --------------------------

Можно создать псевдоним для любой функции. Эта возможность позволяет создать псевдоним, включающий как командлет, так и его параметры.

Первая команда создает функцию CD32, которая изменяет текущий каталог на каталог System32. Вторая команда создает псевдоним "go" для функции CD32. Разделителем команд служит точка с запятой (;).

После завершения команды для вызова функции CD32 можно использовать любую из команд CD32 и "go".

function CD32 {set-location -path c:\windows\system32} set-item -path alias:go -value CD32

Отображение свойств и методов псевдонимов

-------------------------- ПРИМЕР 1 --------------------------

Эта команда использует командлет Get-Item для получения всех псевдонимов. Результаты с помощью оператора конвейера (|) передаются командлету Get-Member, который отображает методы и свойства объекта.

get-item -path alias:* | get-member

При передаче командлету Get-Member по конвейеру коллекции объектов, например коллекции псевдонимов на диске Alias:, командлет Get-Member обрабатывает каждый объект коллекции отдельно. Затем командлет Get-Member возвращает информацию о каждом найденном типе объекта. Если все объекты принадлежат к одному типу, выводятся сведения о единственном типе объекта. В данном случае все псевдонимы являются объектами AliasInfo. Для получения сведений о коллекции объектов AliasInfo используйте параметр InputObject командлета Get-Member. Например, используйте следующую команду: Get-Member -InputObject (Get-Item alias:*) При использовании параметра InputObject командлет Get-Member выполняет оценку всей коллекции, а не отдельных объектов из нее.

-------------------------- ПРИМЕР 2 --------------------------

Эта команда перечисляет значения свойств псевдонима "dir". Она использует командлет Get-Item для получения объекта, представляющего псевдоним "dir". Оператор конвейера (|) передает результаты команде Format-List. Команда Format-List использует параметр Property с подстановочным знаком (*) для форматирования и отображения значений всех свойств псевдонима "dir".

get-item alias:dir | format-list -property *

Изменение свойств псевдонима

-------------------------- ПРИМЕР 1 --------------------------

Для изменения значения свойства Options псевдонима можно использовать командлет Set-Item с динамическим параметром Options.

Эта команда устанавливает параметры AllScope и ReadOnly для псевдонима "dir". В ней используется динамический параметр Options командлета Set-Item. Параметр Options доступен для Set-Item только при использовании с поставщиком Alias или Function.

set-item -path alias:dir -options "AllScope,ReadOnly"

-------------------------- ПРИМЕР 2 --------------------------

Эта команда использует командлет Set-Item для изменения псевдонима "gp" так, чтобы он представлял командлет Get-Process вместо командлета Get-ItemProperty. Параметр Force является обязательным, поскольку для значения параметра Options псевдонима "gp" установлен режим ReadOnly. Так как команда вводится при открытом диске Alias:, диск в пути не указывается.

set-item -path gp -value get-process -force

Это изменение затрагивает четыре свойства, определяющих связь между псевдонимом и командой. Чтобы просмотреть влияние изменения, введите следующую команду: get-item -path gp | format-list -property *

-------------------------- ПРИМЕР 3 --------------------------

Эта команда использует командлет Rename-Item для изменения имени псевдонима "popd" на "pop".

rename-item -path alias:popd -newname pop

Копирование псевдонима

-------------------------- ПРИМЕР 1 --------------------------

Эта команда копирует псевдоним "pushd", создавая новый псевдоним "push" для командлета Push-Location.

copy-item -path alias:pushd -destination alias:push

При создании нового псевдонима его свойство Description имеет значение "None". Его свойство Options также имеет значение "None". Если команда вводится при открытом диске Alias:, можно не указывать имя диска в значении параметра Path.

Удаление псевдонима

-------------------------- ПРИМЕР 1 --------------------------

Эта команда удаляет псевдоним "serv" из текущего сеанса. Эту команду можно использовать на любом диске Windows PowerShell.

remove-item -path alias:serv

Если диск Alias: уже открыт, имя этого диска в пути можно не указывать.

-------------------------- ПРИМЕР 2 --------------------------

Эта команда удаляет псевдонимы, начинающиеся со знака "s". Она не удаляет псевдонимы, доступные только для чтения.

clear-item -path alias:s*

-------------------------- ПРИМЕР 3 --------------------------

Эта команда удаляет все псевдонимы из текущего сеанса, кроме тех, которые содержат Constant в значении свойства Options. Если не задан параметр Force, команда не удаляет псевдонимы со значением ReadOnly свойства Options.

remove-item alias:* -force

Динамические параметры

Динамические параметры — это параметры командлетов, добавляемые поставщиком Windows PowerShell и доступные только при использовании командлета на диске поставщика.

Options <System.Management.Automation.ScopedItemOptions>

Определяет значение свойства Options псевдонима.

Value Description

None

Без параметров. Это значение по умолчанию.

Constant

Невозможно удалить псевдоним и изменить его свойства. Значение "Constant" доступно только при создании псевдонима. Нельзя присвоить значение "Constant" параметру существующего псевдонима.

Private

Псевдоним виден только в текущей области, но не в дочерних областях.

ReadOnly

Свойства псевдонима изменить нельзя, если только не использовать параметр Force. Для удаления псевдонима воспользуйтесь командлетом Remove-Item.

AllScope

Псевдоним копируется во все новые создаваемые области.

Поддержка командлетов

См. также

Концепции

about_Aliases
about_Providers