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.
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-Processde forma síncrona. O cmdletGet-Processretorna objetos Process para cada processo em execução no computador local. - Runspace02 - Mostra como usar a classe PowerShell para executar os cmdlets
Get-ProcesseSort-Objectde forma síncrona. O cmdletGet-Processretorna objetos Process para cada processo em execução no computador local e oSort-Objectclassifica 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-Processe 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-PSSessioneExit-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-PSDriveeRemove-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-ItemeSet-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-ItemeRemove-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-ItemeJoin-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-ContenteSet-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.