Seu Guia de Início Rápido para Verbos Aprovados do PowerShell

Quando se trata de script PowerShell, convenções de nomenclatura consistentes tornam a tarefa de construir soluções robustas muito mais fácil. A boa notícia é que existem verbos aprovados pelo PowerShell que você pode usar ao escrever scripts e comandos.

Neste tutorial, você aprenderá quais verbos aprovados usar no PowerShell por meio de uma série de exemplos.

Entre de cabeça e eleve o nível do seu script PowerShell!

Pré-requisitos

Este tutorial inclui demonstrações práticas. Se deseja acompanhar, certifique-se de ter um sistema executando o PowerShell 5.1 ou posterior. Este tutorial utiliza o Windows 11 com PowerShell 7.

Obtendo uma Lista de Verbos Aprovados pelo PowerShell

No PowerShell, cmdlets são comandos pequenos e específicos que realizam ações específicas no ambiente do PowerShell.

Cada cmdlet em PowerShell tem um nome único que segue o formato de par verbo-substantivo, onde:

  • A parte do verbo no nome descreve a ação que o cmdlet realiza. Alguns verbos comuns usados no PowerShell são os seguintes:
Verb Function
Get Retrieves information.
Set Changes or updates settings.
New Creates something new.
Remove Deletes or removes something.
  • A parte do substantivo no nome identifica a entidade ou objeto sobre o qual a ação é realizada, o alvo para realizar a ação. O substantivo geralmente descreve a categoria ou tipo de objeto com o qual o cmdlet interage, como comando, processo, serviço ou arquivo.

Para ver todos os verbos aprovados que você pode usar em seu script:

Execute o seguinte cmdlet Get-Verb para obter uma lista completa de verbos aprovados pelo PowerShell.

Get-Verb

O resultado abaixo mostra apenas alguns verbos que você pode usar em seu script.

Retrieving a complete list of approved verbs

Agora, execute o mesmo comando como abaixo, mas desta vez, você listará todos os verbos aprovados que começam com re através de uma pesquisa de curinga. Fazendo isso, você reduz a lista de verbos para aqueles associados a resetar, redimensionar, refazer, e assim por diante.

Get-Verb re*

Como mostrado abaixo, reduzir a lista de verbos pode ser útil quando você tem uma ação específica em mente e deseja encontrar um verbo que corresponda de perto a essa ação.

Narrowing down the list of approved verbs

Criando Novos Recursos via o Verbo New

Você acabou de recuperar uma lista de verbos aprovados no PowerShell, mas como você usa esses verbos em seu script ou ao executar comandos? Você vai antepor o verbo New a um substantivo representando o tipo de recurso que deseja criar (ou seja, usuário, arquivo, serviço).

Mas neste exemplo, você criará um novo recurso, especificamente um novo usuário, da seguinte maneira:

Execute o seguinte comando New-LocalUser para criar um novo usuário chamado John Smith com uma senha (Password123) e definir a conta para nunca expirar (-AccountNeverExpires).

New-LocalUser -Name "John Smith" -AccountNeverExpires -Password (ConvertTo-SecureString -AsPlainText "Password123" -Force
Creating a new resource (user account) via the New verb

Recuperando Informações de Recursos via o Verbo Get

Além de criar novos recursos, o PowerShell também possui um verbo que permite que você recupere informações sobre qualquer um dos seus recursos existentes. No PowerShell, o verbo Get é comumente usado para obter informações sobre um recurso específico, como o sistema operacional, serviços, arquivos e outros objetos.

Para recuperar informações de recursos via o verbo Get:

Execute o comando Get-LocalUser abaixo para obter informações sobre um usuário local específico (John Smith).

Get-LocalUser -Name "John Smith"

Abaixo, a saída mostra que a conta do usuário John Smith está habilitada (ativa).

Retrieving resource information via the Get verb

Modificando Recursos Existentes via o Verbo Set

Imagine que você percebeu algo errado após ver as informações de um dos seus recursos. Como você pode modificar um recurso existente? Não se preocupe! Um verbo aprovado pelo PowerShell, o verbo Set, permite que você faça alterações em recursos existentes.

Em vez de recriar recursos, o verbo Set permite que você ajuste modificando suas propriedades ou configurações.

Para modificar recursos existentes via o verbo Set:

Execute os comandos abaixo para definir o valor de $myVariable como Hello e modificar o valor de $myVariable para Hello, World!. Esses comandos não fornecem saída, mas você verificará as mudanças na etapa seguinte.

# Defina um recurso de variável
$myVariable = "Hello"

# Modifique o valor de um recurso de variável existente
Set-Variable -Name myVariable -Value "Hello, World!"

Agora, execute o comando Get-Variable abaixo para obter informações sobre seu recurso ($myVariable).

Get-Variable -Name myVariable

Como mostrado abaixo, a saída exibe o nome e o valor da variável.

Retrieving information about a resource

Desencadeando Ações ou Invocando Comandos via Verbo Invoke

Em vez de executar manualmente comandos, como você fez nos exemplos anteriores, por que não automatizá-los em um script do PowerShell? Como? O verbo Invoke permite iniciar ações ou invocar comandos programaticamente.

Com um script do PowerShell e o verbo Invoke, você pode executar vários comandos do PowerShell de uma vez sem digitá-los todos no console.

Para ver como funcionam as ações de desencadeamento via verbo Invoke:

1. Execute o seguinte comando Invoke-Expression para invocar o comando Get-Date, que permite recuperar a data e hora atuais.

Invoke-Expression -Command "Get-Date"

A saída abaixo mostra uma execução bem-sucedida do comando Get-Date via o verbo Invoke.

Triggering a command via the Invoke verb

2. Em seguida, crie um arquivo de script do PowerShell (ou seja, InvokeVerbDemo.ps1) com seu editor de código preferido e preencha o código a seguir.

Este código exibe (Write-Host) uma mensagem de boas-vindas e invoca o cmdlet Get-Service para listar todos os serviços em seu sistema.

# Exibir uma mensagem de boas-vindas calorosa
Write-Host "Welcome to the Invoke Example!"

# Invocar o cmdlet Get-Service
Invoke-Command -ScriptBlock { Get-Service }

3. Agora, execute os seguintes comandos para invocar (Invoke-Expression) seu script do PowerShell (InvokeVerbDemo.ps1). Substitua o valor da variável $scriptPath pelo caminho do seu arquivo de script.

$scriptPath = "C:\PowerShellScripts\InvokeVerbDemo.ps1"
Invoke-Expression -Command $scriptPath

A saída abaixo mostra uma mensagem de boas-vindas e uma lista de todos os serviços em seu sistema, o que confirma uma execução bem-sucedida do seu script.

Invoking a script via the Invoke verb

4. Em vez de apenas comandos, escreva uma função reutilizável (ou seja, Invoke-MyTask) que você possa chamar a qualquer momento, como mostrado abaixo. Essencialmente, as funções aprimoram a manutenibilidade e reutilizabilidade de seus scripts do PowerShell.

Neste exemplo, a função Invoke-MyTask encapsula comandos para realizar o seguinte quando invocada:

  • Exibe (Write-Host) a string Executing MyTask... no console.
  • Recupera a lista de todos os processos (Get-Process) e seleciona apenas (Select-Object) as propriedades Name e CPU para cada processo.
# Defina uma função personalizada usando o verbo Invoke
function Invoke-MyTask {
    # Sua tarefa personalizada vai aqui
    Write-Host "Executing MyTask..."
    Get-Process | Select-Object Name, CPU
}
Defining a PowerShell function

5. Por último, execute o comando abaixo para invocar sua função (Invoke-MyTask).

Invoke-Expression -Command Invoke-MyTask

Você verá uma lista de todos os processos em execução em seu sistema com seus nomes e uso da CPU, como mostrado abaixo.

Invoking a function

Validando Recursos via o Verbo Test

Assegurar a precisão dos valores de entrada e condições é primordial ao criar scripts PowerShell robustos e resistentes a erros. Uma ferramenta poderosa à sua disposição para esse fim é o verbo Test.

Ao empregar o verbo Test, você pode verificar rapidamente se uma determinada condição é verdadeira ou falsa, permitindo que execute diferentes ações com base no resultado. Neste exemplo, você validará se um arquivo existe via o verbo Test.

Execute o código abaixo para testar (Test-Path) se um arquivo existe (C:\MyFolder\example.txt) no caminho especificado $filePath e imprima uma mensagem dependendo do resultado.

# Defina um caminho de arquivo.
$filePath = "C:\MyFolder\example.txt"

# Teste se o arquivo existe e imprima uma mensagem dependendo do resultado
if (Test-Path $filePath) {
    Write-Host "The file exists at $filePath."
}
else {
    Write-Host "The file does not exist at $filePath."
}
Validating a resource via the Test verb

Conclusão

Agora você tem uma compreensão básica dos verbos aprovados pelo PowerShell e como usá-los efetivamente em seus scripts e comandos. Ao alavancar esses verbos, você pode criar soluções PowerShell robustas, eficientes e consistentes para várias tarefas e cenários.

Este tutorial é apenas o começo da sua jornada para se tornar um usuário proficiente do PowerShell. Por que não aprender outros verbos aprovados, como verbos de manipulação de dados (por exemplo, Exportar, Importar, Ordenar) e verbos de ciclo de vida (por exemplo, Iniciar, Parar)? Eleve suas habilidades no PowerShell para o próximo nível hoje mesmo!

Source:
https://adamtheautomator.com/powershell-approved-verbs/