Se você buscar a redação de centenas de linhas de códigos em um único bloco de código, não é o método adequado, porque geralmente é difícil ler um grande bloco de código. Você pode dividi -lo em pequenas funções para tornar o programa mais compreensível, organizado e reutilizável.
O que é uma função no PowerShell?
Em Powershell, um função é uma coleção de código com entrada e saída opcionais. É a formação de uma sequência de instruções para executar uma ou muitas vezes simplesmente invocando -a em vez de copiá -la repetidamente. A função melhora substancialmente a legibilidade e a usabilidade do seu código, facilitando muito o tratamento repetido.
São necessários parâmetros como entrada e retorna valores atribuídos a algumas variáveis, canalizadas para outras funções ou cmdlets como entrada ou exibido como uma saída na tela. Em vez de repetir o código, a função pode ser chamada quantas vezes é necessário após ser definido no script. Em PowerShell, existem dois tipos de funções: básico e avançado.
Funções básicas em PowerShell
A forma mais simples de uma função que podemos criar no PowerShell é chamada de “básico”Função. Essas funções não utilizam nenhum dos recursos internos. Um conjunto de aparelho encaracolado é usado para definir o corpo da função. Ao trabalhar com funções do PowerShell, a opção mais fácil para os administradores é usar funções básicas, porque essas funções não possuem nenhum recurso herdado. Você precisa definir todos os fluxos de erro no código da sua função explicitamente.
Funções avançadas em PowerShell
Funções avançadas têm as mesmas propriedades que as funções básicas, mas incluem recursos adicionais que as funções básicas não têm. Por exemplo, PowerShell contém fluxos como detalhe, aviso, depuração, erro, etc. Esses fluxos são essenciais para mostrar a saída com precisão.
Criando funções básicas no PowerShell
Agora, verificaremos o método de criar funções básicas no PowerShell. Para isso, abra seu Windows PowerShell Ise e crie um novo arquivo.
O Palavra -chave da função é usado para declarar uma função em PowerShell, seguida pelo Nome da função e aparelho encaracolado. O código ou corpo da função está dentro daqueles aparelhos encaracolados .
função get-versionVamos executar isso “Get-Version”Função no tempo de execução. Agora, salve o script como “testfile1.ps1”E execute -o.
No terminal PowerShell, chame a função criada usando seu nome.
> Get-VersionEle mostrará a seguinte saída:
À medida que a função é carregada na memória do seu sistema, você pode visualizar funções na função psdrive. Para isso, use o “Get-Childitem”Comando para verificar os itens infantis da função psdrive. Aqui o "-Caminho”A opção é utilizada para especificar o caminho da função psdrive.
> Função Get-ChildItem -Path: \ Get-*VersãoNa sessão atual, você pode remover a função definida usando o “Remover item”Comando. Executar o comando abaixo do dado para esse fim.
> Get-ChildItem -Path Função: \ Get-*versão | Remover itemUse o operador do tubo [“|“] Para que o comando repouse os itens infantis da função psdrive para o“Remover item”Comando. Então o "Remover item”O cmdlet removerá as funções criadas da sessão.
Para verificar a remoção da função, invocar o “Get-Version”Função. Ele mostrará a seguinte saída:
Parâmetro de funções no PowerShell
Agora, escreveremos uma função que consulta todos os comandos de um sistema e retorna o número de comandos com certos nomes de parâmetros. Se você quiser fazer isso, execute o script abaixo do seu PowerShell:
função get-mrparameterCountAgora, invocamos o “Get-mrparameterCount”Com os parâmetros:
Nome Computern, Computador, Nome do Servidor, Host e Máquina:
> Get -mrparameterCount -Parametername Computername, Computer, ServerName, Host, MachineCriando funções avançadas no PowerShell
É realmente fácil transformar uma função básica do PowerShell em uma função avançada. Funções avançadas apresentam vários parâmetros comuns que são adicionados automaticamente à função. Agora, transformaremos a função básica definida na seção anterior em uma função avançada:
função test-mrparameterObserve que o “Test-MrParameter”A função não tem parâmetro comum. Os parâmetros comuns podem ser vistos de maneiras diferentes. Um método é usar “Get-Command" com o "-Sintaxe”Opção para olhar para a sintaxe:
> Get -command -name test -mrparameter -SyntaxPara tornar a função uma função avançada, adicione “CMDLETBINDING”:
função test-mrcmdletbindingNovamente, você pode verificar a sintaxe e os parâmetros desta função avançada executando os comandos abaixo:
> Get-command -name test-mrcmdletbinding -syntax> (get-command -name test-mrcmdletBinding).Parâmetros.ChavesConclusão
Você pode dividir o código em blocos de construção separados usando Funções em PowerShell. Eles não apenas ajudam você a quebrar seu código em peças menores e mais gerenciáveis, mas também o pressionam para produzir código testável e legível.
As funções também melhoram substancialmente a legibilidade e a usabilidade do seu código, facilitando muito a lidar com o código repetido. Este artigo mostra alguns métodos para usar funções em Powershell, incluindo os básicos e avançados.