Além de executar cmdlets, você pode também executar funções no Windows PowerShell. O Windows PowerShell vem com funções internas, e você pode adicionar funções obtidas de outros usuários, além de escrever suas próprias funções.

Sobre funções

As funções são um tipo de comando no Windows PowerShell. Você executa uma função digitando seu nome, da mesma forma que executa um cmdlet. Assim como os cmdlets, as funções podem ter parâmetros. As funções podem usar objetos .NET como entrada e retornar objetos .NET como saída, exatamente como os cmdlets. Na verdade, as funções podem fazer praticamente tudo o que os cmdlets fazem.

O melhor das funções é que são muito fáceis de escrever. Ao contrário dos cmdlets, que são escritos em C#, as funções são apenas um agrupamento nomeado de comandos e expressões do Windows PowerShell. Se você consegue digitar comandos no Windows PowerShell, conseguirá escrever funções.

Localizando funções

Como as funções são comandos, para localizá-las, use o cmdlet Get-Command.

Por exemplo, para localizar todas as funções na sua sessão, digite:

get-command -CommandType function

O Windows PowerShell também vem com uma unidade Function: que contém todas as funções na sua sessão. Para navegar na unidade Function:, use os mesmos métodos que você usa para navegar nas unidades do sistema de arquivos.

Para entrar na unidade Function:, digite:

cd function:

Para exibir as funções na unidade Function:, digite:

dir function:

Executando funções

Para executar uma função, basta digitar o nome dela. Por exemplo, para executar a função Clear-Host, digite:

clear-host

No console do Windows PowerShell, a função Clear-Host exclui todo o texto na janela do console. Ela poderia se comportar de outra forma ou não ter efeito em outros programas host.

Para usar os parâmetros de uma função, digite o nome do parâmetro precedido por um hífen e seguido por um valor, exatamente como faria com os parâmetros de um cmdlet.

Por exemplo, a função de Ajuda, que exibe tópicos da Ajuda uma página por vez, tem os mesmos parâmetros do cmdlet Get-Help. Para usar a função de Ajuda para obter apenas os exemplos do tópico da Ajuda para o cmdlet Get-Service, digite:

help -name get-service -examples

Obtendo ajuda para funções

As funções podem ter tópicos da Ajuda. Para localizar o tópico da Ajuda para uma função, use o cmdlet Get-Help. Esse é o mesmo cmdlet que você usa para obter Ajuda para cmdlets.

Por exemplo, para obter Ajuda para a função Disable-PSRemoting, digite:

get-help Disable-PSRemoting

Você pode usar todos os parâmetros do cmdlet Get-Help para obter Ajuda para funções. Por exemplo, para obter apenas os exemplos do tópico da Ajuda para a função Disable-PSRemoting, digite:

get-help Disable-PSRemoting -example

Escrevendo funções

Uma função é um grupo nomeado de comandos ou expressões. Para escrever uma função simples, use o formato a seguir.

function <name> { <commands> }

Basta digitar function, um nome para a função, e colocar os comandos entre chaves ({}).

Por exemplo, se você digita repetidamente um comando específico, como get-help get-member -examples, pode poupar tempo escrevendo uma função que execute esse comando. A função a seguir, denominada GMEX, executa o comando.

function GMEX {get-help get-member -examples}

Depois de digitar a função no prompt do Windows PowerShell (ou copiá-la e colá-la deste tópico) e pressionar ENTER, você poderá usar a função na sua sessão. Para executar a função, digite GMEX.

Essa é uma função simples mas, com apenas mais algumas linhas, você pode adicionar parâmetros, tornar os parâmetros opcionais ou obrigatórios, adicionar mensagens para os usuários e adicionar um tópico da Ajuda para a sua função. Quando você souber mais sobre o Windows PowerShell, poderá escrever funções avançadas com todos os recursos dos cmdlets.

Para obter mais informações sobre como escrever funções, consulte about_Functions, about_Comment_Based_Help e about_Functions_Advanced.

Salvando funções

Quando você abre o Windows PowerShell, entra em uma sessão do Windows PowerShell. A sessão dura até que você feche a janela do Windows PowerShell (ou digite Exit para encerrar a sessão). A menos que você salve um item em um arquivo em disco ou no Registro, os itens que você criar na sua sessão serão excluídos quando a sessão terminar.

Para salvar as funções que você escrever, tornando-as disponíveis em sessões futuras do Windows PowerShell, crie um perfil do Windows PowerShell e salve suas funções nesse perfil.

Para obter mais informações, consulte about_Profiles.

See Also




Sumário