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 |
Псевдоним копируется во все новые создаваемые области. |