Partilhar via


Instalar o SKD do Windows PowerShell

Aplica-se a: Windows PowerShell 2.0, Windows PowerShell 3.0

O tópico a seguir descreve como instalar o SDK do PowerShell em diferentes versões do Windows.

Instalando o SDK do Windows PowerShell 3.0 para Windows 8 e Windows Server 2012

O Windows PowerShell 3.0 é instalado automaticamente com o Windows 8 e o Windows Server 2012. Além disso, você pode baixar e instalar os assemblies de referência para o Windows PowerShell 3.0 como parte do SDK do Windows 8. Esses assemblies permitem que você escreva cmdlets, provedores e programas de host para o Windows PowerShell 3.0. Quando você instala o SDK do Windows para Windows 8, os assemblies do Windows PowerShell são instalados automaticamente na pasta assembly de referência, no \Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0. Para obter mais informações, consulte o site de download do SDK do Windows 8. Os exemplos de código do Windows PowerShell também estão disponíveis no repositório powershell-sdk-samples.

Montagens de referência

Os assemblies de referência são instalados no seguinte local por padrão: C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\V1.0.

Observação

O código compilado nos assemblies do Windows PowerShell 2.0 não pode ser carregado nas instalações do Windows PowerShell 1.0. No entanto, o código compilado nos assemblies do Windows PowerShell 1.0 pode ser carregado nas instalações do Windows PowerShell 2.0.

Exemplos

Os exemplos de código são instalados no seguinte local por padrão: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\. As seções a seguir fornecem uma breve descrição do que cada amostra faz.

Exemplos de cmdlets

  • GetProcessSample01 - Mostra como escrever um cmdlet simples que obtém todos os processos no computador local.
  • GetProcessSample02 - Mostra como adicionar parâmetros ao cmdlet. O cmdlet usa um ou mais nomes de processo e retorna os processos correspondentes.
  • GetProcessSample03 - Mostra como adicionar parâmetros que aceitam entrada do pipeline.
  • GetProcessSample04 - Mostra como lidar com erros sem terminação.
  • GetProcessSample05 - Mostra como exibir uma lista de processos especificados.
  • SelectObject - Mostra como escrever um filtro para selecionar apenas determinados objetos.
  • SelectString - Mostra como pesquisar arquivos para padrões especificados.
  • StopProcessSample01 - Mostra como implementar um parâmetro PassThru e como solicitar comentários do usuário por chamadas para os métodos ShouldProcess e ShouldContinue. Os usuários especificam o parâmetro PassThru quando desejam forçar o cmdlet a retornar um objeto,
  • StopProcessSample02 - Mostra como parar um processo específico.
  • StopProcessSample03 - Mostra como declarar aliases para parâmetros e como dar suporte a curingas.
  • StopProcessSample04 - Mostra como declarar conjuntos de parâmetros, o objeto que o cmdlet usa como entrada e como especificar o conjunto de parâmetros padrão a ser usado.

Amostras remotas

  • RemoteRunspace01 - Mostra como criar um espaço de execução remoto que é usado para estabelecer uma conexão remota.
  • RemoteRunspacePool01 - Mostra como construir um pool de espaço de execução remoto e como executar vários comandos simultaneamente usando esse pool.
  • Serialization01 - Mostra como examinar uma classe .NET existente e certificar-se de que as informações de propriedades públicas selecionadas dessa classe sejam preservadas na serialização/desserialização.
  • Serialization02 - Mostra como examinar uma classe .NET existente e certificar-se de que as informações da instância dessa classe sejam preservadas na serialização/desserialização quando as informações não estiverem disponíveis nas propriedades públicas da classe.
  • Serialization03 - Mostra como examinar uma classe .NET existente e certificar-se de que as instâncias dessa classe e de classes derivadas sejam desserializadas (reidratadas) em objetos .NET dinâmicos.

Amostras de eventos

  • Event01 - Mostra como criar um cmdlet para registro de eventos derivando de ObjectEventRegistrationBase.
  • Event02 - Mostra como receber notificações de eventos do Windows PowerShell gerados em computadores remotos. Ele usa o evento PSEventReceived exposto por meio da classe Runspace.

Hospedando amostras de aplicativos

  • Runspace01 - Mostra como usar a classe PowerShell para executar o cmdlet Get-Process de forma síncrona. O cmdlet Get-Process retorna objetos Process para cada processo em execução no computador local.
  • Runspace02 - Mostra como usar a classe PowerShell para executar os cmdlets Get-Process e Sort-Object de forma síncrona. O cmdlet Get-Process retorna objetos Process para cada processo em execução no computador local e o Sort-Object classifica os objetos com base em sua propriedade Id. Os resultados desses comandos são exibidos usando um DataGridView controle.
  • Runspace03 - Mostra como usar a classe PowerShell para executar um script de forma síncrona e como lidar com erros que não terminam. O script recebe uma lista de nomes de processos e, em seguida, recupera esses processos. Os resultados do script, incluindo quaisquer erros de não terminação que foram gerados durante a execução do script, são exibidos em uma janela do console.
  • Runspace04 - Mostra como usar a classe PowerShell para executar comandos e como capturar erros de terminação que são lançados ao executar os comandos. Dois comandos são executados, e o último comando é passado um argumento de parâmetro que não é válido. Como resultado, nenhum objeto é retornado e um erro de encerramento é lançado.
  • Runspace05 - Mostra como adicionar um snap-in a um objeto InitialSessionState para que o cmdlet do snap-in esteja disponível quando o espaço de execução for aberto. O snap-in fornece um cmdlet Get-Proc (definido pelo exemplo GetProcessSample01) que é executado de forma síncrona usando um objeto do PowerShell.
  • Runspace06 - Mostra como adicionar um módulo a um objeto InitialSessionState para que o módulo seja carregado quando o espaço de execução for aberto. O módulo fornece um cmdlet Get-Proc (definido pelo exemplo GetProcessSample02) que é executado de forma síncrona usando um objeto do PowerShell.
  • Runspace07 - Mostra como criar um espaço de execução e, em seguida, usar esse espaço de execução para executar dois cmdlets de forma síncrona usando um objeto do PowerShell.
  • Runspace08 - Mostra como adicionar comandos e argumentos ao pipeline de um objeto do PowerShell e como executar os comandos de forma síncrona.
  • Runspace09 - Mostra como adicionar um script ao pipeline de um objeto do PowerShell e como executar o script de forma assíncrona. Os eventos são usados para manipular a saída do script.
  • Runspace10 - Mostra como criar um estado de sessão inicial padrão, como adicionar um cmdlet ao InitialSessionState, como criar um espaço de execução que usa o estado da sessão inicial e como executar o comando usando um objeto do PowerShell.
  • Runspace11 - Mostra como usar a classe ProxyCommand para criar um comando proxy que chama um cmdlet existente, mas restringe o conjunto de parâmetros disponíveis. O comando proxy é então adicionado a um estado de sessão inicial que é usado para criar um espaço de execução restrito. Isso significa que o usuário pode acessar a funcionalidade do cmdlet somente por meio do comando proxy.
  • PowerShell01 - Mostra como criar um espaço de execução restrito usando um objeto InitialSessionState.
  • PowerShell02 - Mostra como usar um pool de espaço de execução para executar vários comandos simultaneamente.

Amostras do anfitrião

  • Host01 - Mostra como implementar um aplicativo host que usa um host personalizado. Neste exemplo, é criado um espaço de execução que usa o host personalizado e, em seguida, a API do PowerShell é usada para executar um script que chama exit. Em seguida, o aplicativo host examina a saída do script e imprime os resultados.
  • Host02 - Mostra como escrever um aplicativo host que usa o tempo de execução do Windows PowerShell junto com uma implementação de host personalizada. O aplicativo host define a cultura do host como alemão, executa o cmdlet Get-Process e exibe os resultados como você os veria usando pwrsh.exee, em seguida, imprime os dados e a hora atuais em alemão.
  • Host03 - Mostra como criar um aplicativo host interativo baseado em console que lê comandos da linha de comando, executa os comandos e exibe os resultados no console.
  • Host04 - Mostra como criar um aplicativo host interativo baseado em console que lê comandos da linha de comando, executa os comandos e exibe os resultados no console. Este aplicativo host também suporta a exibição de prompts que permitem ao usuário especificar várias escolhas.
  • Host05 - Mostra como criar um aplicativo host interativo baseado em console que lê comandos da linha de comando, executa os comandos e exibe os resultados no console. Este aplicativo host também oferece suporte a chamadas para computadores remotos usando os cmdlets Enter-PSSession e Exit-PSSession.
  • Host06 - Mostra como criar um aplicativo host interativo baseado em console que lê comandos da linha de comando, executa os comandos e exibe os resultados no console. Além disso, este exemplo usa as APIs do Tokenizer para especificar a cor do texto que é inserido pelo usuário.

Amostras de fornecedores

  • AccessDBProviderSample01 - Mostra como declarar uma classe de provedor que deriva diretamente da classe CmdletProvider. Ele está incluído aqui apenas para completar.

  • AccessDBProviderSample02 - Mostra como substituir os métodos NewDrive e RemoveDrive para dar suporte a chamadas para os cmdlets New-PSDrive e Remove-PSDrive. A classe provider neste exemplo deriva da classe DriveCmdletProvider.

  • AccessDBProviderSample03 - Mostra como substituir os métodos GetItem e SetItem para dar suporte a chamadas para os cmdlets Get-Item e Set-Item. A classe de provedor neste exemplo deriva da classe ItemCmdletProvider.

  • AccessDBProviderSample04 - Mostra como substituir métodos de contêiner para dar suporte a chamadas para os cmdlets Copy-Item, Get-ChildItem, New-Iteme Remove-Item. Esses métodos devem ser implementados quando o armazenamento de dados contém itens que são contêineres. Um contêiner é um grupo de itens filho sob um item pai comum. A classe de provedor neste exemplo deriva da classe ItemCmdletProvider.

  • AccessDBProviderSample05 - Mostra como substituir métodos de contêiner para dar suporte a chamadas para os cmdlets Move-Item e Join-Path. Esses métodos devem ser implementados quando o usuário precisa mover itens dentro de um contêiner e se o armazenamento de dados contém contêineres aninhados. A classe de provedor neste exemplo deriva da classe NavigationCmdletProvider.

  • AccessDBProviderSample06 - Mostra como substituir métodos de conteúdo para dar suporte a chamadas para os cmdlets Clear-Content, Get-Contente Set-Content. Esses métodos devem ser implementados quando o usuário precisa gerenciar o conteúdo dos itens no armazenamento de dados. A classe de provedor neste exemplo deriva da classe NavigationCmdletProvider e implementa a interface IContentCmdletProvider.