Lembra do cmd.exe? Prompt de comando, telinha preta, etc. São vários os nomes dados ao Shell padrão do Windows.
Acredito que a primeira dificuldade em entender o que é o powershell é entender antes o que é um Shell. Bom… Um shell é uma interface em que o usuário do sistema operacional pode interagir com os serviços oferecidos por ele (Fonte: Wikipédia). Ou seja, você fornece comandos para o shell, e o shell transforma o que você forneceu em chamadas para as funções internas do sistema operacional, que vai te dar uma resposta ou fazer alguma operação, baseado neste comando. Em poucas palavras e grosseiramente falando, é apenas um programa que recebe comandos e chama as funções correspondentes da API do sistema operacional, recebe o resultado e transforma em algo mais legível para você, reles humano.
O cmd.exe era o shell padrão. Ele era baseado na mesma interface do antepassado do Windows: o DOS (daí porque é chamado de DOS também). Além de permitir usar elementos comuns de linguagens de programação, como loops, variáveis, você podia usar comandos para listar diretórios, obter informações de disco, formatá-los, etc.
O powershell é a evolução do cmd. Na minha opinião, uma das grandes vantagens do powershell é que ele usa todo o .NET como sua base. Você praticamente pode programar em C# na linha de comando. Isso te permite construir scripts avançados, que fazem tarefas complexas, com apenas algumas linhas de código, sem precisar abrir um Visual Studio e compilar algo. Outra grande vantagem é o fato de que os resultados dos comandos são retornados como objetos, e não como texto. Isso permite que você manipule mais facilmente o retorno dos comandos, ainda mais quando você precisa passar resultados de um comando para outro comando. (O famoso pipe “|”). Também, o powershell te permite interagir facilmente com o WMI (um serviço do Windows que provê uma série de informações sobre o Hardware e Software), facilita o processo de execução de scripts em máquinas distintas, e uma série de outros recursos.
Em breve, mais postagens sobre POWERSHELL!
Iniciando em powershell:
http://abstrys.com/doku.php/technology/powershell/beginning-powershell-scripting
http://www.powershellpro.com/powershell-tutorial-introduction/
DBA Team Leader na Power Tuning
Comment ( 1 )