Examinar funções em scripts do Windows PowerShell

Concluído(a)

Uma função é um bloco de código reutilizável. Use funções para evitar repetir o mesmo código em um script. Por exemplo, se o script executar várias ações, crie uma função de log e chame-a sempre que uma ação for executada. Se você precisar atualizar o comportamento de registro em log mais tarde, você só precisa alterá-lo em um só lugar.

Ao chamar uma função, você pode passar dados para ela. Use o bloco Param() para uma função da mesma maneira que faz para um script. Após a declaração da função, insira o bloco Param() e as definições para quaisquer variáveis que devem ser passadas para a função. O exemplo a seguir é uma função que usa um bloco Param() para aceitar o nome de um computador:

Function Get-SecurityEvent {
   Param (
      [string]$ComputerName
   ) #end Param
   Get-EventLog -LogName Security -ComputerName $ComputerName -Newest 10
}

Para chamar a função dentro de um script, use a seguinte sintaxe:

Get-SecurityEvent -ComputerName LON-DC1

Quando você chama a função, o PowerShell passa o -ComputerName valor para $ComputerName dentro da função. Get-EventLog consulta então os 10 eventos mais recentes do log de segurança desse computador e os exibe na tela. Se você quiser que esses eventos sejam colocados em uma variável e estejam disponíveis para uso no restante do script, use a seguinte sintaxe:

$securityEvents = Get-SecurityEvent -ComputerName LON-DC1

Note

Get-EventLog usa uma API Win32 preterida e não está disponível no PowerShell 7 ou posterior. Para novos scripts direcionados ao PowerShell 7+, use Get-WinEvent -LogName Security -ComputerName $ComputerName -MaxEvents 10 em vez disso.