PowerShell

linguagem de programação

PowerShell é um shell de linha de comando baseado em tarefas e linguagem de script desenvolvido no .NET. Inicialmente, apenas um componente do Windows, o PowerShell tornou-se de código aberto e multiplataforma em 18 de agosto de 2016 com a introdução do PowerShell Core.[3]

PowerShell

Captura de tela de uma sessão do Windows PowerShell
Paradigma Multi-paradigma: Imperativo, pipeline, orientada a objetos, funcional e reflexiva
Última versão 5.1.14393 (2-8-2016)
Versão em teste 6.0.0 Alfa 9 (18-8-2016)
Criado por Microsoft
Estilo de tipagem tipagem forte, segurança de tipo, inferência de tipo, dinâmica
Influenciada por Ksh, Perl, C#, CL, DCL, SQL, Tcl, Tk, Chef, Puppet[1]
Plataforma Framework .NET, .NET Core
Sistema operacional Windows XP e posteriores, OS X, CentOS, Ubuntu
Licença: MIT License[2] (mas o componente Windows permanece proprietário)
Página oficial https://msdn.microsoft.com/en-us/powershell

No PowerShell, tarefas administrativas são realizadas através de cmdlets (pronuncia-se command-lets), que são classes .NET especializadas que implementam uma operação específica.

Atualmente os produtos Server da Microsoft devem fornecer suporte à automatização via PowerShell, segundo seu Common Engineering Criteria. O Windows PowerShell é integrado como componente opcional do Windows Server 2008, habilitado por padrão desde o Windows Server 2008 R2 (exceto instalação core) e Windows 7, e pode ser baixado separadamente para Windows XP SP2, Windows Vista e Windows Server 2003.

Projeto editar

Os desenvolvedores do PowerShell basearam a gramática núcleo da ferramenta naquela do POSIX 1003.2.[4]

O Windows PowerShell pode executar quatro tipos de comandos nomeados:[5]

  • cmdlets (programas baseados no framework .NET projetados para interagir com o PowerShell)
  • Scripts PowerShell (arquivos sufixados por .ps1)
  • Funções PowerShell
  • programas executáveis isolados

Se um comando for um programa executável isolado, o PowerShell.exe executa-o em um processo separado; se ele for um cmdlet, ele executa-o no processo PowerShell. O PowerShell fornece uma interface de linha de comando interativa, em que os comandos podem ser inseridos e sua saída exibida. A interface do usuário, baseada no console Win32, oferece complementação por tabulação personalizável. O PowerShell permite a criação de apelidos (aliases) para cmdlets, os quais o PowerShell traduz textualmente em invocações dos comandos originais.

Cmdlets editar

Cmdlet (pronuncia-se "command let"[6]) são comandos usados pelo PowerShell que implementam funções específicas. Segue uma regra de verbo-substantivo, como por exemplo "Stop-process" (parar o processo).[7]

Alguns comandos básicos:[8]

Cmdlet Function
 Get-Location  obter o diretório atual
 Set-Location  alterar o diretório atual
Copy-Item  copiar arquivos
 Remove-Item  remover um arquivo ou diretório
 Move-Item  mover um arquivo
 Rename-Item   renomear um arquivo
 New-Item  criar um novo arquivo vazio ou diretório

Versões editar

Versão 1.0[9] editar

Essa versão foi desenvolvida para Windows server 2003 e Windows XP.

Algumas das principais funcionalidades são:

  • Mais de 130 ferramentas de linha de comandos fáceis de usar e aprender
  • Suporte para linguagens de script e ferramentas de linha de comando existentes
  • Recurso que permite a navegação nos dados armazenados.

Requisitos do sistema editar

A versão 1.0 pode ser instalada nos seguintes sistemas operacionais:

Versão 2.0[10] editar

Disponível nativamente no Windows 7 e no Windows server 2008 R2 e para instalação no Windows XP, Windows Server 2003, Windows Vista e Windows Server 2008.

As funcionalidades que podemos destacar são:

  • Execução de comandos remotamente
  • Depuração de Script
  • Tratamento de eventos

Requisitos do sistema editar

A versão 2.0 pode ser instalada nos seguintes sistemas operacionais:

Versão 3.0[11] editar

Nos sistemas operacionais Windows Server 2012 ou o Windows Server 2012 R2 a instalação não é necessária pois já faz parte do sistema operacional.

Alguns de seus novos recursos:

  • Tarefas agendadas
  • Administração delegada
  • Sintaxe de linguagem simplificada

Requisitos do sistema editar

Versão 4.0[12] editar

Essa versão é nativa nas versões do Windows 8.1 e no Windows Server 2012 R2.

Alguns dos novos recursos oferecidos são:

  • Suporte para fluxo de trabalho e depuração de script remotamente
  • Suporte de atualização da versão 3.0 para 4.0 (caso seja possível)
  • Correções de bugs e melhoria de desempenho

Requisitos do sistema editar

Referências

  1. Snover, Jeffrey (25 de maio de 2008). «PowerShell and WPF: WTF». Windows PowerShell Blog. Microsoft 
  2. [1]
  3. Bright, Peter (18 de agosto de 2016). «PowerShell is Microsoft's latest open source release, coming to Linux, OS X» (em inglês) 
  4. Payette, Bruce (2007). Windows PowerShell in Action. Col: Manning Pubs Co Series. [S.l.]: Manning. p. 27. ISBN 9781932394900. Consultado em 22 de julho de 2016. The core PowerShell language is based on the POSIX 1003.2 grammar for the Korn shell. 
  5. «about_Command_Precedence». TechNet. Microsoft. 8 de maio de 2014 
  6. «Introdução a cmdlets do Service Manager para Windows PowerShell». Consultado em 1 de junho de 2014 
  7. «Powershell para desenvolvedores». Consultado em 1 de junho de 2014 
  8. «cmdlet». Consultado em 1 de junho de 2014 
  9. Microsoft. «Windows PowerShell 1.0 localizado o pacote de instalação para o Windows Server 2003 e Windows XP». Consultado em 1 de junho de 2014 
  10. Microsoft. «Estrutura de gerenciamento do Windows (Windows PowerShell 2.0, WinRM 2.0 e o BITS 4.0)». Consultado em 1 de junho de 2014 
  11. «Windows Management Framework 3.0». Consultado em 1 de junho de 2014 
  12. Microsoft. «Management Framework Windows 4.0». Consultado em 1 de junho de 2014 

Ligações externas editar


  Este artigo sobre linguagem de programação é um esboço. Você pode ajudar a Wikipédia expandindo-o.