- Olá pessoal, tudo bem? Espero que sim!
- Hoje vamos aprender a como criar, editar, remover, importar e exportar Alias no seu shell.
Alias
Como vimos no post #3, os Alias são apelidos para simplificar a chamada de um comando, seja ele cmdlet, função ou comando interno do Windows, como por exemplo MKDIR. Exemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
PS C:\Users\RobotChicken> Get-Command -CommandType Alias | ? {$_.Name -like "md*"} CommandType Name Version Source ----------- ---- ------- ------ Alias md -> mkdir PS C:\Users\RobotChicken\Desktop> md "Teste" Diretório: C:\Users\RobotChicken\Desktop Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 16/06/2019 11:06 Teste |
Como podemos observar no exemplo acima, utilizamos o alias MD, que é um apelido para a função interna MKDIR do Windows, para criar uma pasta na área de trabalho. É importante ressaltar que este Alias, assim como o DEL ou CHDIR, são nativos do Sistema Operacional desde versões primordiais do MS-DOS. Então por que abordei justamente este comando como exemplo? A resposta é simples, porque assim como podemos criar Alias para cmdlets ou funções, podemos dar um novo nome para este Alias no Powershell.
Como criar um Alias?
Utilizando o cmdlet Set-Alias, podemos aplicar um novo apelido para um cmdlet, função ou até mesmo para uma função interna do sistema operacional. Não existem limites para criação de Alias, podendo existir mais de um Alias para a mesma operação.
Sintaxe: Set-Alias <apelido> <cmdlet ou função>
Exemplo:
1 2 3 4 5 6 7 8 9 |
PS C:\Users\RobotChicken> Set-Alias criarpasta mkdir PS C:\Users\RobotChicken> criarpasta .\Desktop\Teste2 Diretório: C:\Users\RobotChicken\Desktop Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 16/06/2019 11:28 Teste2 |
No exemplo acima, criamos o novo alias “criarpasta” para a função MKDIR. Não excluí o alias MD, que por sua vez, pode continuar sendo utilizado normalmente para suas funções.
Obs: Quando você adiciona um novo alias para uma função interna do Windows, este só funcionará na console do Powershell, não se estendendo à console do Prompt de Comando do Windows (CMD).
Como remover um Alias?
É simples, basta você utilizar o cmdlet Remove-Item, combinado com o alias e o apelido definido.
Sintaxe: Remove-Item Alias:<nomedoalias>
Exemplo:
1 2 3 4 5 6 7 8 9 10 |
PS C:\Users\RobotChicken> Remove-Item Alias:criarpasta PS C:\Users\RobotChicken> criarpasta .\Desktop\Teste3 criarpasta : O termo 'criarpasta' não é reconhecido como nome de cmdlet, função, arquivo de script ou programa operável. Verifique a grafia do nome ou, se um caminho tiver sido incluído, veja se o caminho está correto e tente novamente. No linha:1 caractere:1 + criarpasta Teste3 + ~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (criarpasta:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException |
Conforme o exemplo cima, ao usar a sintaxe, removemos o Alias “criarpasta” tornando o comando desconhecido para o shell.
Exemplos de Alias personalizados
Criar o alias cont (conteúdo) para o cmdlet Get-Content:
1 2 3 4 |
PS C:\Users\RobotChicken> Set-Alias cont Get-Content PS C:\Users\RobotChicken> cont .\Desktop\printf.txt Hello World |
Criar o alias st (iniciar) para o cmdlet Start-Process:
1 2 3 |
PS C:\Users\RobotChicken> Set-Alias st Start-Process PS C:\Users\RobotChicken> st cmd.exe |
Criar o alias v (volume) para a função Get-Volume:
1 2 3 4 5 6 7 |
PS C:\Users\RobotChicken> Set-Alias v Get-Volume PS C:\Users\RobotChicken> v C DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining Size ----------- ------------ -------------- --------- ------------ ----------------- ------------- ---- C NTFS Fixed Healthy OK 605.61 GB 926.9 GB |
Importando e Exportando Alias
Quando estamos operando um shell de um determinado computador, este já irá possuir os Alias built-in (de fábrica) da sua versão do Powershell (baseada na versão de seu Windows Management Framework). Caso você crie Alias personalizados neste computador, eles estarão disponíveis somente neste dispositivo. Se desejar que os Alias personalizados estejam no shell de outros computadores ou servidores, você precisará exportá-los do computador atual e importá-los no computador destino. Você pode realizar esta operação utilizando os cmdlets Export-Alias e Import-Alias.
Exportar
Sintaxe: Export-Alias -Path <caminho do arquivo .csv> -Name <nome do alias> -Description <nova descrição para o alias>
Exemplo 1:
1 2 |
# Exportando um Alias PS C:\Users\RobotChicken> Export-Alias -Path "alias-cont.csv" -Name cont -Description "Alias Get-Content" -Force |
No exemplo 1, estamos exportando o alias cont, que foi criado nos exemplos anteriores para o cmdlet Get-Content, para um novo arquivo CSV que será criado no diretório atual. A estrutura deste arquivo será parecida a esta:
# Arquivo de Alias |
# Exportado por : RobotChicken |
# Data/Hora : domingo, 16 de junho de 2019 12:16:14 |
# Computador: DSK |
# |
# Alias Get-Content |
cont,”Get-Content”,””,”None” |
Exemplo 2:
1 2 |
# Exportando mais de um Alias PS C:\Users\RobotChicken> Export-Alias -Path "alias-cont-md.csv" -Name cont,md -Description "Alias Get-Content e Criar Pasta" -Force |
No exemplo 2, demonstro que se você atribuir mais valores no parâmetro -Name (nome do Alias), separados por vírgula, você pode exportar mais de um Alias para um arquivo CSV.
Exemplo 3:
1 2 |
# Exportando todos os Alias PS C:\Users\RobotChicken> Export-Alias -Path "alias-personalizados.csv" -Append -Description "Alias Personalizados" -Force |
No exemplo 3, demonstro como exportar todos os Alias de fábrica e/ou personalizados do shell do computador atual.
Importar
Sintaxe: Import-Alias -Path <caminho do arquivo .csv>
Exemplo:
1 2 |
# Importar Alias no computador destino PS C:\Users\RobotChicken> Import-Alias -Path \\DSK\AliasExport\alias-cont-md.csv |
Obs: Caso o computador já possua um Alias do arquivo que está sendo importado, o shell retornará o seguinte erro:
1 2 3 4 5 6 |
Import-Alias : Alias não permitido porque já existe um alias com o nome 'md'. No linha:1 caractere:1 + Import-Alias -Path \\DSK\AliasExport\alias-cont-md.csv + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceExists: (v:String) [Import-Alias], SessionStateException + FullyQualifiedErrorId : AliasAlreadyExists,Microsoft.PowerShell.Commands.ImportAliasCommand |
Este tipo de erro não é tão preocupante, pois, indica que o shell não importará um Alias já existente, contudo, os Alias que você não possuir serão importados de qualquer maneira.
Conclusão
O Alias é um componente muito útil na criação de scripts Powershell, principalmente quando você precisa chamar várias vezes um comando com nomenclatura extensa ou para criar termos amigáveis para comandos que você utiliza com frequência. Sua utilização é orientada exclusivamente por quem está desenvolvendo os scripts, não sendo uma regra utilizá-los, mas apenas como uma boa prática.
É isso aí galera, por hoje é só. Até o próximo post!
Dúvidas, sugestões, críticas? Entre em contato aqui!
Gostou? Deixe seu comentário e não se esqueçam de curtir a página do Facebook na barra lateral!