Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este guia do programador destina-se a desenvolvedores que estão interessados em fornecer um ambiente de gerenciamento de linha de comando para administradores de sistema. O Windows PowerShell fornece uma maneira simples de criar comandos de gerenciamento que expõem objetos .NET, permitindo que o Windows PowerShell faça a maior parte do trabalho para você.
No desenvolvimento de comandos tradicionais, é necessário escrever um analisador de parâmetros, um fichário de parâmetros, filtros e todas as outras funcionalidades expostas por cada comando. O Windows PowerShell fornece o seguinte para facilitar a escrita de comandos:
Um poderoso tempo de execução do Windows PowerShell (mecanismo de execução) com seu próprio analisador e um mecanismo para vincular automaticamente os parâmetros de comando.
Utilitários para formatação e exibição de resultados de comando usando um interpretador de linha de comando (CLI).
Suporte para altos níveis de funcionalidade (por meio de provedores do Windows PowerShell) que facilitam o acesso aos dados armazenados.
Com pouco custo, você pode representar um objeto .NET por um comando avançado ou um conjunto de comandos que oferecerá uma experiência completa de linha de comando ao administrador.
A próxima seção aborda os principais conceitos e termos do Windows PowerShell. Familiarize-se com esses conceitos e termos antes de iniciar o desenvolvimento.
Sobre o Windows PowerShell
O Windows PowerShell define vários tipos de comandos que você pode usar no desenvolvimento. Esses comandos incluem: funções, filtros, scripts, aliases e executáveis (aplicativos). O tipo de comando principal discutido neste guia é um comando simples e pequeno chamado "cmdlet". O Windows PowerShell fornece um conjunto de cmdlets e oferece suporte total à personalização de cmdlets para se adequar ao seu ambiente. O tempo de execução do Windows PowerShell processa todos os tipos de comando da mesma forma que os cmdlets, usando pipelines.
Além dos comandos, o Windows PowerShell oferece suporte a vários provedores personalizáveis do Windows PowerShell que disponibilizam conjuntos específicos de cmdlets. O shell opera no aplicativo host fornecido pelo Windows PowerShell (powershell.exe
), mas é igualmente acessível a partir de um aplicativo host personalizado que você pode desenvolver para atender a requisitos específicos. Para obter mais informações, consulte Como funciona o Windows PowerShell.
Windows PowerShell Cmdlets
Um cmdlet é um comando leve usado no ambiente do Windows PowerShell. O tempo de execução do Windows PowerShell invoca esses cmdlets no contexto de scripts de automação fornecidos na linha de comando, e o tempo de execução do Windows PowerShell também os invoca programaticamente por meio de APIs do Windows PowerShell.
Para obter mais informações sobre cmdlets, consulte escrevendo um cmdlet do Windows PowerShell.
Provedores do Windows PowerShell
Ao executar tarefas administrativas, o usuário pode precisar examinar os dados armazenados em um armazenamento de dados (por exemplo, o sistema de arquivos, o Registro do Windows ou um armazenamento de certificados). Para facilitar essas operações, o Windows PowerShell define um módulo chamado provedor do Windows PowerShell que pode ser usado para acessar um armazenamento de dados específico, como o Registro do Windows. Cada provedor oferece suporte a um conjunto de cmdlets relacionados para dar ao usuário uma visão simétrica dos dados no armazenamento.
O Windows PowerShell fornece vários provedores padrão do Windows PowerShell. Por exemplo, o provedor do Registro oferece suporte à navegação e manipulação do Registro do Windows. As chaves do Registro são representadas como itens e os valores do Registro são tratados como propriedades.
Se você expor um armazenamento de dados que o usuário precisará acessar, talvez seja necessário escrever seu próprio provedor do Windows PowerShell, conforme descrito em Criando provedores do Windows PowerShell. Para obter mais informações sobre provedores do Windows PowerShell, consulte Como o Windows PowerShell funciona.
Aplicativo host
O Windows PowerShell inclui o aplicativo host padrão powershell.exe, que é um aplicativo de console que interage com o usuário e hospeda o tempo de execução do Windows PowerShell usando uma janela de console.
Só raramente você precisará escrever seu próprio aplicativo host para o Windows PowerShell, embora a personalização seja suportada. Um caso em que você pode precisar de seu próprio aplicativo é quando você tem um requisito para uma interface GUI que é mais rica do que a interface fornecida pelo aplicativo host padrão. Você também pode querer um aplicativo personalizado quando estiver baseando sua GUI na linha de comando. Para obter mais informações, consulte Como criar um aplicativo host do Windows PowerShell.
Tempo de Execução do Windows PowerShell
O tempo de execução do Windows PowerShell é o mecanismo de execução que implementa o processamento de comandos. Ele inclui as classes que fornecem a interface entre o aplicativo host e os comandos e provedores do Windows PowerShell. O tempo de execução do Windows PowerShell é implementado como um objeto de espaço de execução para a sessão atual do Windows PowerShell, que é o ambiente operacional no qual o shell e os comandos são executados. Para obter detalhes operacionais, consulte Como funciona o Windows PowerShell.
Linguagem do Windows PowerShell
A linguagem do Windows PowerShell fornece funções de script e mecanismos para invocar comandos. Para obter informações completas sobre scripts, consulte a Referência de linguagem do Windows PowerShell fornecida com o Windows PowerShell.
Sistema ETS
O Windows PowerShell fornece acesso a uma variedade de objetos diferentes, como objetos .NET e XML. Como consequência, para apresentar uma abstração comum para todos os tipos de objeto, o shell usa seu sistema de tipos estendido (ETS). A maioria das funcionalidades do ETS é transparente para o usuário, mas o script ou o desenvolvedor do .NET a usa para as seguintes finalidades:
Visualização de um subconjunto dos membros de objetos específicos. O Windows PowerShell fornece uma exibição "adaptada" de vários tipos de objeto específicos.
Adicionar membros a objetos existentes.
Acesso a objetos serializados.
Escrever objetos personalizados.
Usando o ETS, você pode criar novos "tipos" flexíveis que são compatíveis com a linguagem do Windows PowerShell. Se você for um desenvolvedor .NET, poderá trabalhar com objetos usando a mesma semântica que a linguagem do Windows PowerShell aplica aos scripts, por exemplo, para determinar se um objeto é avaliado como
true
.Para obter mais informações sobre o ETS e como o Windows PowerShell usa objetos, consulte Conceitos de objeto do Windows PowerShell.
Programação para Windows PowerShell
O Windows PowerShell define seu código para comandos, provedores e outros módulos de programa usando o .NET Framework. Você não está limitado ao uso do Microsoft Visual Studio na criação de módulos personalizados para o Windows PowerShell, embora os exemplos fornecidos neste guia sejam conhecidos por serem executados nesta ferramenta. Você pode usar qualquer linguagem .NET que ofereça suporte à herança de classe e ao uso de atributos. Em alguns casos, as APIs do Windows PowerShell exigem que a linguagem de programação possa acessar tipos genéricos.
Referência do programador
Para obter referência ao desenvolver para o Windows PowerShell, consulte o SDK do Windows PowerShell.
Introdução ao uso do Windows PowerShell
Para obter mais informações sobre como começar a usar o shell do Windows PowerShell, consulte o Introdução ao Windows PowerShell fornecido com o Windows PowerShell. Um documento com três dobras de Referência Rápida também é fornecido como uma cartilha para uso do cmdlet.
Conteúdo deste guia
Tópico | Definição |
---|---|
Como criar um provedor do Windows PowerShell | Esta seção descreve como criar um provedor do Windows PowerShell para o Windows PowerShell. |
Como criar um aplicativo host do Windows PowerShell | Esta seção descreve como escrever um aplicativo host que manipula um espaço de execução e como escrever um aplicativo host que implementa seu próprio host personalizado. |
Como criar um snap-in do Windows PowerShell | Esta seção descreve como criar um snap-in usado para registrar todos os cmdlets e provedores em um assembly e como criar um snap-in personalizado. |
Como criar um de shell de console | Esta seção descreve como criar um shell de console que não é extensível. |
Conceitos do Windows PowerShell | Esta seção contém informações conceituais que ajudarão você a entender o Windows PowerShell do ponto de vista de um desenvolvedor. |