Alias Provider
Nome do provedor
Alias
Unidades
Alias:
Descrição resumida
Fornece acesso aos aliases do Windows PowerShell e aos valores que eles representam.
Descrição detalhada
O provedor Alias do Windows PowerShell permite obter, adicionar, alterar, limpar e excluir aliases no Windows PowerShell.
Um alias é um nome alternativo para um cmdlet, uma função ou um arquivo executável. O Windows PowerShell inclui um conjunto de aliases internos. Além disso, você poderá adicionar seus próprios aliases à sessão atual e ao seu perfil do Windows PowerShell.
O provedor Alias é um namespace comum que contém apenas os objetos de alias. Os aliases não têm itens filhos.
Cada alias é uma instância da classe System.Management.Automation.AliasInfo.
O provedor Alias expõe seu repositório de dados na unidade Alias:. Para trabalhar com aliases, você pode alterar o local para a unidade Alias: usando o seguinte comando:
Set-Location alias:
Ou trabalhar de qualquer outra unidade do Windows PowerShell. Para fazer referência a um alias de outro local, use o nome da unidade Alias: no caminho.
O Windows PowerShell inclui um conjunto de cmdlets designados para exibir e alterar aliases:
Export-Alias
Get-Alias
Import-Alias
New-Alias
Set-Alias
Ao usar esses cmdlets, você não precisa especificar a unidade Alias: no nome.
O provedor Alias dá suporte a todos os cmdlets que contenham Item em seus nomes, exceto o cmdlet Invoke-Item. Além disso, ele dá suporte aos cmdlets Get-Content e Set-Content. O provedor Alias não dá suporte aos cmdlets que contenham ItemProperty em seus nomes. E não dá suporte ao parâmetro Filter em nenhum cmdlet.
Todas as alterações nos aliases afetam apenas a sessão atual. Para salvar as alterações, adicione-as ao perfil do Windows PowerShell. Ou use os cmdlets Export-Alias e Import-Alias.
Exemplos
Obtendo a unidade Alias:
-------------------------- EXEMPLO 1 --------------------------
Este comando altera o local atual para a unidade Alias:. Você pode utilizar o comando em qualquer unidade do Windows PowerShell. Para retornar a uma unidade do sistema de arquivos, digite o nome da unidade. Por exemplo, digite "set-location c:".
set-location alias:
Obtendo aliases
-------------------------- EXEMPLO 1 --------------------------
Este comando obtém uma lista de todos os aliases na sessão atual. Você pode utilizar o comando em qualquer unidade do Windows PowerShell.
get-item -path alias:
-------------------------- EXEMPLO 2 --------------------------
Este comando obtém o alias "ls". Como ele inclui o caminho, você pode usá-lo em qualquer unidade do Windows PowerShell.
get-item -path alias:ls
Se você estiver na unidade Alias:, poderá omitir o nome da unidade no caminho.
-------------------------- EXEMPLO 3 --------------------------
Este comando obtém uma lista dos aliases associados ao cmdlet Get-ChildItem. Ele usa a propriedade Definition, que armazena o nome do cmdlet.
get-item -path alias:* | where-object {$_.Definition -eq "Get-Childitem"}
Quando o item com alias é um arquivo executável, a propriedade Definition contém o caminho totalmente qualificado do arquivo.
-------------------------- EXEMPLO 4 --------------------------
Este comando obtém a lista de todos os aliases quando o local atual é a unidade Alias:. Ele usa um caractere curinga (*) para indicar todo o conteúdo do local atual.
get-item -path *
Na unidade Alias:, um ponto (.), que representa o local atual, e um caractere curinga (*), que representa todos os itens no local atual, têm o mesmo efeito. Por exemplo, "get-item -path ." ou "get-item *" geram o mesmo resultado.
Criando um novo alias
-------------------------- EXEMPLO 1 --------------------------
Este comando cria o alias "serv" para o cmdlet Get-Service. Como o local atual está na unidade Alias:, o valor do parâmetro Path é um ponto (.). O ponto (.) representa o local atual.
Este comando também utiliza o parâmetro dinâmico Options para definir as opções AllScope e Constant no alias. O parâmetro Options está disponível no cmdlet New-Item somente quando você está na unidade Alias:.
new-item -path . -name serv -value Get-Service -Options "AllScope,Constant"
Se você estiver na unidade Alias:, poderá omitir o nome da unidade no caminho.
-------------------------- EXEMPLO 2 --------------------------
Você pode criar um alias para qualquer item que chama um comando. Este comando cria o alias "np" para Notepad.exe.
new-item -path alias:np -value c:\windows\notepad.exe
-------------------------- EXEMPLO 3 --------------------------
Você pode criar um alias para qualquer função. Você pode utilizar esse recurso para criar um alias que inclui um cmdlet e seus parâmetros.
O primeiro comando cria a função CD32, que altera o diretório atual para o diretório System32. O segundo comando cria o alias "go" para a função CD32. O ponto-e-vírgula (;) é o separador de comando.
Quando o comando estiver concluído, você poderá usar "CD32" ou "go" para invocar a função.
function CD32 {set-location -path c:\windows\system32} set-item -path alias:go -value CD32
Exibindo as propriedades e os métodos de aliases
-------------------------- EXEMPLO 1 --------------------------
Este comando usa o cmdlet Get-Item para obter todos os aliases. O operador de pipeline (|) envia os resultados para o cmdlet Get-Member, que exibe os métodos e as propriedades do objeto.
get-item -path alias:* | get-member
Quando você canaliza uma coleção de objetos para Get-Member, como a coleção de aliases na unidade Alias:, Get-Member avalia cada objeto da coleção separadamente. Em seguida, Get-Member retorna as informações sobre cada tipo de objeto que localiza. Se todos os objetos forem do mesmo tipo, ele retornará informações sobre o único tipo de objeto. Neste caso, todos os aliases são objetos AliasInfo. Para obter informações sobre a coleção de objetos AliasInfo, use o parâmetro InputObject de Get-Member. Por exemplo, use o seguinte comando: Get-Member -InputObject (Get-Item alias:*) Quando você usa InputObject, Get-Member avalia a coleção, não os objetos da coleção.
-------------------------- EXEMPLO 2 --------------------------
Este comando lista os valores das propriedades do alias "dir". Ele usa o cmdlet Get-Item para obter um objeto que representa o alias "dir". O operador de pipeline (|) envia os resultados para o comando Format-List. O comando Format-List usa o parâmetro Property com um caractere curinga (*) para formatar e exibir os valores de todas as propriedades do alias "dir".
get-item alias:dir | format-list -property *
Alterando as propriedades de um alias
-------------------------- EXEMPLO 1 --------------------------
Você poderá usar o cmdlet Set-Item com o parâmetro dinâmico Options para alterar o valor da propriedade Options de um alias.
Este comando define as opções AllScope e ReadOnly para o alias "dir". O comando usa o parâmetro dinâmico Options do cmdlet Set-Item. O parâmetro Options fica disponível em Set-Item somente quando é utilizado com o provedor Alias ou Function.
set-item -path alias:dir -options "AllScope,ReadOnly"
-------------------------- EXEMPLO 2 --------------------------
Este comando usa o cmdlet Set-Item para alterar o alias "gp", de forma que ele represente o cmdlet Get-Process, em vez de Get-ItemProperty. O parâmetro Force é obrigatório, pois o valor da propriedade Options do alias "gp" está definido como ReadOnly. Como o comando é enviado da unidade Alias:, a unidade não é especificada no caminho.
set-item -path gp -value get-process -force
A alteração afeta as quatro propriedades que definem a associação entre o alias e o comando. Para exibir o efeito da alteração, digite o seguinte comando: get-item -path gp | format-list -property *
-------------------------- EXEMPLO 3 --------------------------
Este comando usa o cmdlet Rename-Item para alterar o alias "popd" para "pop".
rename-item -path alias:popd -newname pop
Copiando um alias
-------------------------- EXEMPLO 1 --------------------------
Este comando copia o alias pushd, de forma que um novo alias push é criado para o cmdlet Push-Location.
copy-item -path alias:pushd -destination alias:push
Quando o novo alias é criado, sua propriedade Description tem um valor nulo. Além disso, sua propriedade Option tem um valor None. Se o comando for emitido da unidade Alias:, você poderá omitir o nome da unidade no valor do parâmetro Path.
Excluindo um alias
-------------------------- EXEMPLO 1 --------------------------
Este comando exclui o alias serv da sessão atual. Você pode utilizar o comando em qualquer unidade do Windows PowerShell.
remove-item -path alias:serv
Se você estiver na unidade Alias:, poderá omitir o nome da unidade no caminho.
-------------------------- EXEMPLO 2 --------------------------
Este comando exclui aliases que começam com "s". Ele não exclui aliases somente leitura.
clear-item -path alias:s*
-------------------------- EXEMPLO 3 --------------------------
Este comando exclui todos os aliases da sessão atual, exceto aqueles com um valor Constant para suas propriedades Options. Sem o parâmetro Force, o comando não exclui aliases cujas propriedades Options tenham um valor ReadOnly.
remove-item alias:* -force
Parâmetros dinâmicos
Parâmetros dinâmicos são parâmetros de cmdlets, que são adicionados por um provedor do Windows PowerShell e estão disponíveis apenas quando o cmdlet está sendo usado na unidade habilitada pelo provedor.
Options <System.Management.Automation.ScopedItemOptions>
Determina o valor da propriedade Options de um alias.
Value | Description |
---|---|
None |
Sem opções. Esse valor é o padrão. |
Constant |
O alias não pode ser excluído e suas propriedades não podem ser alteradas. Constant está disponível apenas quando você cria um alias. Não é possível alterar a opção de um alias existente para Constant. |
Private |
O alias é visível apenas no escopo atual, não nos escopos filho. |
ReadOnly |
As propriedades do alias não podem ser alteradas, a não ser com o uso do parâmetro Force. É possível usar Remove-Item para excluir o alias. |
AllScope |
O alias é copiado para os novos escopos que forem criados. |