Создает или изменяет псевдоним (альтернативное имя) командлета или другого элемента команды в текущем сеансе Windows PowerShell.
Синтаксис
Set-Alias [-Name] <string> [-Value] <string> [-Description <string>] [-Force] [-Option {<None> | <ReadOnly> | <Constant> | <Private> | <AllScope>}] [-PassThru] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>]
Описание
Командлет Set-Alias создает или изменяет псевдоним (альтернативное имя) командлета или элемента команды, такого как функция, скрипт, файл или другой исполняемый элемент. Командлет Set-Alias можно также использовать для назначения текущего псевдонима новой команде и для изменения любых свойств псевдонима, например его описания. Если не добавить псевдоним в профиль Windows PowerShell, то изменения псевдонима будут утрачены при окончании сеанса или закрытии Windows PowerShell.
Параметры
-Description <string>
Задает описание псевдонима. Можно ввести любую строку. Если описание содержит пробелы, его нужно заключить в кавычки.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Force
Позволяет командлету задавать псевдоним, доступный только для чтения. Для создания доступных только для чтения псевдонимов, следует использовать параметр Option. Параметр Force не позволяет задать постоянный псевдоним.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Name <string>
Задает новый псевдоним. В псевдониме можно использовать любые буквы или цифры, но первым знаком не может быть цифра.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Option <ScopedItemOptions>
Определяет значение свойства Options псевдонима.
Допустимые значения:
-- None: не определяет параметров (по умолчанию).
-- ReadOnly: свойства псевдонима изменить нельзя, если только не использовать параметр Force. Для удаления псевдонима воспользуйтесь командлетом Remove-Item.
-- Constant: псевдоним нельзя удалить, а его свойства нельзя изменить. Значение "Constant" доступно только при создании псевдонима. Нельзя присвоить значение "Constant" параметру существующего псевдонима.
-- Private: псевдоним доступен только в области, определенной параметром Scope. Он невидим за пределами области.
-- AllScope: псевдоним копируется во все создаваемые области.
Чтобы увидеть свойство псевдонимов Options, введите команду "get-alias| Format-Table -property Name, Definition, Options -autosize".
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-PassThru
Возвращает объект, представляющий псевдоним. По умолчанию этот командлет не формирует никаких выходных данных.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Scope <string>
Задает область действия псевдонима. Допустимые значения: "Global", "Local", "Script" или номер относительно текущей области (от 0 до количества областей, где 0 — текущая область, а 1 — ее родительская область). По умолчанию используется значение "Local". Дополнительные сведения см. в разделе about_Scopes.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Value <string>
Задает имя командлета или элемента команды, для которого создается псевдоним.
Обязательно? |
true |
Позиция? |
2 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Confirm
Запрашивает подтверждение перед выполнением команды.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-WhatIf
Описывает, что произойдет при выполнении команды, без ее фактического выполнения.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
Нет Передать входные данные этому командлету по конвейеру невозможно. |
Выходные данные |
Нет или System.Management.Automation.AliasInfo Если задан параметр PassThru, командлет Set-Alias создает объект System.Management.Automation.AliasInfo, представляющий псевдоним. В противном случае этот командлет не формирует никаких выходных данных. |
Примечания
Псевдоним — это альтернативное имя командлета или элемента команды. Для выполнения командлета можно использовать как его полное имя, так и любой его псевдоним. Дополнительные сведения см. в разделе About_Aliases.
Для создания нового псевдонима используйте командлет Set-Alias или New-Alias. Для удаления псевдонима используйте командлет Remove-Item.
Командлет может иметь несколько псевдонимов, но один псевдоним может быть связан только с одним командлетом. Если с помощью командлета set-alias псевдоним назначается другому командлету, то он больше не связан с прежним командлетом.
Псевдоним можно создать для командлета, но не для команды с параметрами и значениями. Например, можно создать псевдоним для командлета Set-Location, но для команды "Set-Location C:\Windows\System32" этого сделать нельзя. Чтобы назначить псевдоним команде, создайте функцию, включающую эту команду, и определите псевдоним для этой функции.
Чтобы сохранить псевдонимы, действительные в ходе текущего сеанса, и использовать их в другом сеансе, добавьте в профиль Windows PowerShell команду set-alias. По умолчанию профили не существуют. Чтобы создать профиль в месте, на которое указывает путь, хранящийся в переменной $profile, введите команду "New-Item -type file -force $profile". Чтобы вывести значение переменной $profile, введите "$profile".
Кроме того, сохранить псевдонимы текущего сеанса можно, скопировав их в файл с помощью командлета Export-Alias, а затем добавив их в список псевдонимов нового сеанса с помощью командлета Import-Alias.
Командлет Set-Alias также можно вызывать с помощью встроенного псевдонима "sal". Дополнительные сведения см. в разделе About_Aliases.
Пример 1
C:\PS>set-alias -name list -value get-childitem Описание ----------- Эта команда создает для командлета Get-ChildItem псевдоним "list". После создания этого псевдонима его можно использовать в командной строке и скриптах вместо имени командлета Get-ChildItem.
Пример 2
C:\PS>set-alias list get-location Описание ----------- Эта команда связывает псевдоним "list" с командлетом Get-Location. Если псевдоним "list" связан с другим командлетом, эта команда меняет привязку и делает его псевдонимом только командлета Get-Location. Эта команда имеет тот же формат, что и команда в предыдущем примере, но в ней опущены необязательные имена параметров -Name и -Value. Опуская имена параметров, следует указывать их значения в заданном в команде порядке. В данном случае значение параметра -Name ("list") должно быть указано первым, а значение параметра -Value ("get-location") вторым.
Пример 3
C:\PS>set-alias scrub remove-item -option readonly -passthru | format-list Описание ----------- Эта команда связывает псевдоним "scrub" с командлетом Remove-Item. Чтобы этот псевдоним нельзя было удалить или назначить другому командлету, в данной команде используется параметр -option со значением "ReadOnly". Параметр PassThru указывает оболочке Windows PowerShell, что необходимо по конвейеру передать объект, представляющий новый псевдоним, командлету Format-List. Если бы параметр PassThru не был указан, этот командлет не возвратил бы никаких данных, которые можно было бы отобразить в виде списка или как-либо иначе.
Пример 4
C:\PS>Set-Alias np c:\windows\notepad.exe Описание ----------- Эта команда связывает псевдоним "np" с исполняемым файлом "Блокнота". После выполнения этой команды для запуска "Блокнота" достаточно будет ввести в командной строке Windows PowerShell команду "np". Этот пример показывает, что псевдонимы можно создавать не только для командлетов, но и для исполняемых файлов и других элементов. Эту команду можно сделать более универсальной, представив каталог C\Windows с помощью переменной среды "Windir" (${env:windir}). Тогда команда примет вид "set-alias np ${env:windir}\notepad.exe".
Пример 5
C:\PS>function CD32 {set-location c:\windows\system32} C:\PS>set-alias go cd32 Описание ----------- Эти команды показывают, как назначить псевдоним команде с параметрами или даже нескольким командам, объединенным в конвейер. Псевдоним можно создать для командлета, но не для команды, включающей командлет и его параметры. Однако, поместив команду в функцию или скрипт, можно создать один или несколько псевдонимов для имени этой функции или скрипта. В данном примере пользователю нужно создать псевдоним для команды "set-location c:\windows\system32", где "set-location" — командлет, а "C:\Windows\System32" — значение параметра Path. Для этого в первой команде создается функция "CD32", содержащая команду Set-Location. Вторая команда создает псевдоним "go" для функции CD32. После этого для выполнения команды Set-Location можно вводить как "CD32", так и "go".