Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este guia do programador é direcionado a desenvolvedores interessados em fornecer um ambiente de gerenciamento de linha de comando para administradores do 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, você precisa gravar um analisador de parâmetros, um associador de parâmetros, filtros e todas as outras funcionalidades expostas por cada comando. O Windows PowerShell fornece o seguinte para facilitar a gravação de comandos:
Um runtime poderoso do Windows PowerShell (mecanismo de execução) com seu próprio analisador e um mecanismo para associar automaticamente 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 dá suporte total à personalização de cmdlet para atender ao seu ambiente. O runtime do Windows PowerShell processa todos os tipos de comando da mesma forma que faz com cmdlets, usando pipelines.
Além dos comandos, o Windows PowerShell dá suporte a vários provedores personalizáveis do Windows PowerShell que disponibilizam conjuntos específicos de cmdlets. O shell opera dentro do 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 o Windows PowerShell funciona.
Cmdlets do Windows PowerShell
Um cmdlet é um comando leve usado no ambiente do Windows PowerShell. O runtime do Windows PowerShell invoca esses cmdlets no contexto de scripts de automação fornecidos na linha de comando e o runtime 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, talvez o usuário precise examinar os dados armazenados em um armazenamento de dados (por exemplo, o sistema de arquivos, o Registro do Windows ou um repositório 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 dá suporte a um conjunto de cmdlets relacionados para dar ao usuário uma exibição simétrica dos dados no repositório.
O Windows PowerShell fornece vários provedores padrão do Windows PowerShell. Por exemplo, o provedor do Registro dá 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 Criar provedores do Windows PowerShell. Para obter mais informações sobre provedores do PowerShell doWindows, 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 runtime do Windows PowerShell usando uma janela do console.
Somente raramente você precisará escrever seu próprio aplicativo host para o Windows PowerShell, embora haja suporte para personalização. Um caso em que você pode precisar de seu próprio aplicativo é quando você tem um requisito para uma interface de GUI mais rica do que a interface fornecida pelo aplicativo host padrão. Talvez você também queira um aplicativo personalizado ao basear sua GUI na linha de comando. Para obter mais informações, consulte Como criar um aplicativo host do Windows PowerShell.
Windows PowerShell Runtime
O runtime 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 provedores e comandos do Windows PowerShell. O runtime do Windows PowerShell é implementado como um objeto de runspace 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 o Windows PowerShell funciona.
Linguagem do Windows PowerShell
A linguagem do Windows PowerShell fornece funções de script e mecanismos para invocar comandos. Para obter informações de script completas, consulte a Referência de Linguagem do Windows PowerShell enviada com o Windows PowerShell.
ETS (Sistema de Tipo Estendido)
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 ETS (sistema de tipo estendido). A maioria das funcionalidades de ETS é transparente para o usuário, mas o script ou o desenvolvedor do .NET a usa para as seguintes finalidades:
Exibindo um subconjunto dos membros de objetos específicos. O Windows PowerShell fornece uma exibição "adaptada" de vários tipos de objeto específicos.
Adicionando membros a objetos existentes.
Acesso a objetos serializados.
Escrevendo objetos personalizados.
Usando o ETS, você pode criar novos "tipos" flexíveis compatíveis com o idioma do Windows PowerShell. Se você for um desenvolvedor do .NET, poderá trabalhar com objetos usando a mesma semântica que a linguagem do Windows PowerShell se aplica ao script, 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 dê 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 do 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 fornecidos com o Windows PowerShell. Um documento de referência rápida de três dobras também é fornecido como uma cartilha para uso de 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 Windows PowerShell. |
como criar um aplicativo host do Windows PowerShell | Esta seção descreve como escrever um aplicativo host que manipula um runspace 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 shell de console | Esta seção descreve como criar um shell de console que não seja 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. |