Создает или изменяет псевдоним (альтернативное имя) командлета или другого элемента команды в текущем сеансе 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".






См. также