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.
Esta seção inclui código de exemplo que mostra como usar diferentes tipos de espaços de execução para executar comandos de forma síncrona e assíncrona. Você pode usar o Microsoft Visual Studio para criar um aplicativo de console e, em seguida, copiar o código dos tópicos nesta seção para seu aplicativo host.
Na presente seção
Observação
Para obter exemplos de aplicativos host que criam interfaces de host personalizadas, consulte Custom Host Samples.
de exemplo Runspace01 Este exemplo mostra como usar a classe System.Management.Automation.PowerShell do para executar o cmdlet Get-Process de forma síncrona e exibir sua saída em uma janela do console.
de exemplo Runspace02 Este exemplo mostra como usar a classe System.Management.Automation.PowerShell para executar o Get-Process e cmdlets Sort-Object de forma síncrona. Os resultados desses comandos são exibidos usando um System.Windows.Forms.DataGridView controle.
de exemplo Runspace03 Este exemplo mostra como usar a classe System.Management.Automation.PowerShell para executar um script de forma síncrona e como manipular erros não terminativos. 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.
de exemplo Runspace04 Este exemplo mostra como usar a classe System.Management.Automation.PowerShell para executar comandos e como detetar 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.
de exemplo Runspace05 Este exemplo mostra como adicionar um snap-in a um objeto System.Management.Automation.Runspaces.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 GetProcessSample01 Sample) que é executado de forma síncrona usando um objeto System.Management.Automation.PowerShell.
de exemplo Runspace06 Este exemplo mostra como adicionar um módulo a um objeto System.Management.Automation.Runspaces.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 GetProcessSample02 Sample) que é executado de forma síncrona usando um objeto System.Management.Automation.PowerShell.
Exemplo de Runspace07 Este exemplo 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 System.Management.Automation.PowerShell.
de exemplo do Runspace08 Este exemplo mostra como adicionar comandos e argumentos ao pipeline de um objeto System.Management.Automation.PowerShell do e como executar os comandos de forma síncrona.
de exemplo Runspace09 Este exemplo mostra como adicionar um script ao pipeline de um objeto System.Management.Automation.PowerShell e como executar o script de forma assíncrona. Os eventos são usados para manipular a saída do script.
de exemplo Runspace10 Este exemplo mostra como criar um estado de sessão inicial padrão, como adicionar um cmdlet ao System.Management.Automation.Runspaces.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 System.Management.Automation.PowerShell.
de exemplo Runspace11 Isso mostra como usar a classe System.Management.Automation.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.