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

DetectabilidadeDiscoverability

O Windows PowerShell facilita a descoberta dos seus recursos.Windows 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 aprender mais sobre o 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 ajuda para 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 completamente 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 Windows PowerShell é um de seus principais ativos.The consistency of Windows PowerShell is one of its primary assets. Por exemplo, se você aprender como usar o cmdlet Sort-Object, será possível 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 Windows PowerShell oferece uma estrutura que fornece os recursos básicos e os força a serem consistente em vários aspectos da interface.Windows 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 Windows 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).Windows 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 Windows 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, Windows 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 Windows PowerShell digitando comandos de texto, o Windows PowerShell se baseia em objetos, não em texto.Although you interact with Windows PowerShell by typing commands in text, Windows 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 Windows 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, Windows 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 Windows PowerShell torna fácil a transição da digitação de comandos interativamente para criar e executar scripts.Windows PowerShell makes it easy to transition from typing commands interactively to creating and running scripts. Você pode digitar comandos no prompt de comando do Windows PowerShell para descobrir os comandos que executam uma tarefa.You can type commands at the Windows 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.