Olá pessoal, tudo bem até aqui? Espero que sim!
Como podem perceber, estou seguindo uma linha de publicações apresentando o conteúdo básico do Powershell antes de envolver outras tecnologias como o sistema operacional Windows, System Center ou outras tecnologias que serão abordadas por aqui. Decidi seguir este caminho, pois, estamos na era de serviços resilientes e automatizados enquanto os movimentos de DevOps e SRE estão em evidência, então, quero garantir que estaremos na mesma página quando chegar a hora, certo?
Não sei se repararam, mas no último post eu deixei uma pegadinha. Se observarem bem, não abordei apenas cmdlets, mas também funções e alias. Assim como o cmdlet, funções e alias também podem utilizar a estrutura de verbo-substantivo, mas isto não é uma regra, então precisamos saber como identificá-los. No post de hoje vamos falar dos CommandTypes e como diferenciá-los.
Para conhecer quais são os principais tipos de comandos disponíveis no seu shell, você pode utilizar a seguinte sintaxe:
1 |
Get-Command | Select CommandType -Unique |
Por padrão, quando você utiliza o cmdlet Get-Command, a primeira coluna irá indicar justamente o tipo de comando você está lidando.
Agora vamos conhecer cada tipo de comando possível no Powershell:
Alias
O tipo de comando alias é um apelido utilizado para simplificar um comando ou mesmo um cmdlet. São utilizados para otimizar a escrita de um script.
Exemplo:
1 2 3 4 5 |
PS C:\Users\RobotChicken> Get-Command -CommandType Alias CommandType Name Version Source ----------- ---- ------- ------ Alias % -> ForEach-Object |
Application
O tipo de comando application indica um comando para iniciar uma aplicação que consta em caminhos configurados da variável de ambiente $env:PATH.
Exemplo:
1 2 3 4 5 |
PS C:\Users\RobotChicken> Get-Command -CommandType Application CommandType Name Version Source ----------- ---- ------- ------ Application AgentService.exe 10.0.17... C:\WINDOWS\system32\AgentService.exe |
Cmdlet
O tipo de comando cmdlet é um comando interno utilizado pelo Powershell para realização de diversas operações geralmente repetitivas de forma simplificada.
Exemplo:
1 2 3 4 5 |
PS C:\Users\RobotChicken> Get-Command -CommandType Cmdlet CommandType Name Version Source ----------- ---- ------- ------ Cmdlet Add-AppvClientConnectionGroup 1.0.0.0 AppvClient |
Configuration
O tipo de comando configuration exibe uma configuração de estado desejado implantada pelo DSC. Não vamos exemplificar este tipo, pois, como assunto é bastante abrangente, falaremos de Powershell DSC (Desired State Configuration) em futuros posts.
ExternalScript
O tipo de comando externalscript retorna os scripts armazenados em diretórios definidos na variável de ambiente env:PATH.
Exemplo:
1 2 3 4 5 |
PS C:\Users\RobotChicken> Get-Command -CommandType ExternalScript CommandType Name Version Source ----------- ---- ------- ------ ExternalScript script.ps1 C:\Users\RobotChicken\Desktop\Repo\script.ps1 |
Filter
O tipo de comando filter indica comandos para filtros simples ou avançados no Powershell.
Exemplo:
1 2 3 4 5 |
PS C:\Users\RobotChicken> Get-Command -CommandType Filter CommandType Name Version Source ----------- ---- ------- ------ Filter more |
Function
O tipo de comando function é um agrupamento de comandos ou expressões para simplificar a chamada de métodos para diversas funcionalidades.
Exemplo:
1 2 3 4 5 |
PS C:\Users\RobotChicken> Get-Command -CommandType Function CommandType Name Version Source ----------- ---- ------- ------ Function Add-BCDataCacheExtension 1.0.0.0 BranchCache |
Script
O tipo de comando script retorna todos os blocos de scripts armazenados no caminho de pesquisa do Powershell.
Workflow
O tipo de comando workflow indica uma sequência de atividades relacionadas executadas em sequência e geralmente por um período prolongado realizando diversas tarefas. Assim como o DSC, veremos como utilizar o workflow do Powershell e seus exemplos em um futuro post.
É 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!
[…] vimos no post #3, os Alias são apelidos para simplificar a chamada de um comando, seja ele cmdlet, função ou […]
[…] nesta jornada de introdução ao Powershell que são as Functions (Funções), que como vimos no post #3, é um CommandType que designa um agrupamento de comandos ou uma sequência de comandos previamente […]