PowerShellPowerShell

Desenvolvido na plataforma .NET Framework, o PowerShell é uma linguagem de scripts e um shell de linha de comando baseado em tarefas. Ele foi desenvolvido especificamente para administradores de sistema e usuários avançados, com a finalidade de automatizar rapidamente a administração de vários sistemas operacionais (Linux, macOS, Unix e Windows) e os processos relacionados aos aplicativos executados nesses sistemas operacionais.Built on the .NET Framework, PowerShell is a task-based command-line shell and scripting language; it is designed specifically for system administrators and power-users, to rapidly automate the administration of multiple operating systems (Linux, macOS, Unix, and Windows) and the processes related to the applications that run on those operating systems.

O PowerShell é um software livrePowerShell is open source

O código-fonte base do PowerShell agora está disponível no GitHub e está aberto para contribuições da comunidade.PowerShell base source code is now available in GitHub and open to community contributions. Confira a Fonte do PowerShell no GitHub.See PowerShell source on GitHub.

Você pode começar com as partes de que precisa em Obter PowerShell.You can start with the bits you need at Get PowerShell. Ou, talvez, com um tour rápido em Guia de IntroduçãoOr, perhaps, with a quick tour at Getting Started

Metas de design do PowerShellPowerShell design goals

O PowerShell foi projetado para melhorar o ambiente de script e de linha de comando eliminando problemas antigos e adicionando novos recursos.PowerShell is designed to improve the command-line and scripting environment by eliminating long-standing problems and adding new features.

DetectabilidadeDiscoverability

O PowerShell facilita a descoberta dos seus recursos.PowerShell makes it easy to discover its features. Por exemplo, para localizar uma lista de cmdlets que exibem e alteram os serviços do Windows, digite:For example, to find a list of cmdlets that view and change Windows services, type:

Get-Command *-Service

Depois de descobrir qual cmdlet realiza uma tarefa, você pode saber mais sobre ele usando o cmdlet Get-Help.After discovering which cmdlet accomplishes a task, you can learn more about the cmdlet by using the Get-Help cmdlet. Por exemplo, para exibir a ajuda sobre o cmdlet Get-Service, digite:For example, to display help about the Get-Service cmdlet, type:

Get-Help Get-Service

A maioria dos cmdlets emite objetos que podem ser manipulados e renderizados no texto para exibição.Most cmdlets emit objects which can be manipulated and then rendered into text for display. Para entender por completo a saída desse cmdlet, direcione a saída para o cmdlet Get-Member.To fully understand the output of that cmdlet, pipe its output to the Get-Member cmdlet. Por exemplo, o comando a seguir exibe informações sobre os membros da saída do objeto pelo cmdlet Get-Service.For example, the following command displays information about the members of the object output by the Get-Service cmdlet.

Get-Service | Get-Member

ConsistênciaConsistency

Gerenciar os sistemas pode ser um desafio complexo e as ferramentas que têm uma interface consistente ajudam a controlar a complexidade inerente.Managing systems can be a complex endeavor and tools that have a consistent interface help to control the inherent complexity. Infelizmente, nem as ferramentas de linha de comando, nem objetos COM programáveis são conhecidos por sua consistência.Unfortunately, neither command-line tools nor scriptable COM objects have been known for their consistency.

A consistência do PowerShell é um de seus principais ativos.The consistency of PowerShell is one of its primary assets. Por exemplo, se você aprender a usar o cmdlet Sort-Object, poderá usar esse conhecimento para classificar a saída de qualquer cmdlet.For example, if you learn how to use the Sort-Object cmdlet, you can use that knowledge to sort the output of any cmdlet. Você não precisa apender as diferentes rotinas de classificação de cada cmdlet.You do not have to learn the different sorting routines of each cmdlet.

Além disso, os desenvolvedores do cmdlet não precisam criar recursos de classificação para os seus cmdlets.In addition, cmdlet developers do not have to design sorting features for their cmdlets. O PowerShell oferece uma estrutura que fornece os recursos básicos e os força a ser consistentes em vários aspectos da interface.PowerShell gives them a framework that provides the basic features and forces them to be consistent about many aspects of the interface. A estrutura elimina algumas das escolhas que normalmente são deixadas para o desenvolvedor, porém, em troca, ela torna o desenvolvimento de cmdlets robustos e fáceis de usar em algo muito mais simples.The framework eliminates some of the choices that are typically left to the developer, but, in return, it makes the development of robust and easy-to-use cmdlets much simpler.

Ambientes interativos e de scriptsInteractive and Scripting Environments

O PowerShell é um ambiente interativo e de script combinado que fornece acesso a ferramentas de linha de comando e objetos COM, permitindo também que você use o poder da FCL (Biblioteca de Classes .NET Framework).PowerShell is a combined interactive and scripting environment that gives you access to command-line tools and COM objects, and also enables you to use the power of the .NET Framework Class Library (FCL).

Esse ambiente aprimora o Prompt de Comando do Windows, que fornece um ambiente interativo com várias ferramentas de linha de comando.This environment improves upon the Windows Command Prompt, which provides an interactive environment with multiple command-line tools. Ele também aprimora scripts do WSH (Windows Script Host), que permitem usar várias ferramentas de linha de comando e objetos de automação COM, mas não fornecem um ambiente interativo.It also improves upon Windows Script Host (WSH) scripts, which let you use multiple command-line tools and COM automation objects, but do not provide an interactive environment.

Combinando o acesso a todos esses recursos, o PowerShell amplia a capacidade do usuário interativo e do gravador de script e facilita o gerenciamento de administração do sistema.By combining access to all of these features, PowerShell extends the ability of the interactive user and the script writer, and makes system administration more manageable.

Orientação a objetoObject Orientation

Embora você interaja com o PowerShell digitando comandos de texto, o PowerShell se baseia em objetos, não em texto.Although you interact with PowerShell by typing commands in text, PowerShell is based on objects, not text. A saída de um comando é um objeto.The output of a command is an object. Você pode enviar o objeto de saída para outro comando como sua entrada.You can send the output object to another command as its input. Como resultado, o PowerShell fornece uma interface familiar para pessoas com experiência em outros shells, apresentando ao mesmo tempo um paradigma de linha de comando novo e poderoso.As a result, PowerShell provides a familiar interface to people experienced with other shells, while introducing a new and powerful command-line paradigm. Ele estende o conceito de enviar dados entre comandos, permitindo enviar objetos em vez de texto.It extends the concept of sending data between commands by enabling you to send objects, rather than text.

Transição fácil para scriptsEasy Transition to Scripting

O PowerShell facilita a transição de uma digitação interativa de comandos para a criação e execução de scripts.PowerShell makes it easy to transition from typing commands interactively to creating and running scripts. Você pode digitar comandos no prompt de comando do PowerShell para descobrir os comandos que executam uma tarefa.You can type commands at the PowerShell command prompt to discover the commands that perform a task. Em seguida, você pode salvar esses comandos em uma transcrição ou um histórico antes de copiá-los para um arquivo para usar como um script.Then, you can save those commands in a transcript or a history before copying them to a file for use as a script.