Examinar funções em scripts do Windows PowerShell
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.