La tua guida introduttiva ai verbi PowerShell approvati

Quando si tratta di scripting PowerShell, le convenzioni di denominazione coerenti rendono molto più facile la creazione di soluzioni robuste. La buona notizia è che ci sono verbi approvati da PowerShell che puoi utilizzare quando scrivi script e comandi.

In questo tutorial, imparerai quali verbi approvati utilizzare in PowerShell attraverso una serie di esempi.

Immergiti e potenzia il tuo scripting PowerShell!

Prerequisiti

Questo tutorial comprende dimostrazioni pratiche. Se desideri seguirla, assicurati di avere un sistema in esecuzione con PowerShell 5.1 o successivo. Questo tutorial utilizza Windows 11 con PowerShell 7.

Ottenere un elenco dei verbi approvati da PowerShell

In PowerShell, i cmdlet sono piccoli comandi a singola funzione che eseguono azioni specifiche nell’ambiente PowerShell.

Ogni cmdlet in PowerShell ha un nome univoco che segue un formato di coppia verbo-sostantivo dove:

  • La parte verbale del nome descrive l’azione che il cmdlet esegue. Alcuni verbi comuni utilizzati in PowerShell sono i seguenti:
Verb Function
Get Retrieves information.
Set Changes or updates settings.
New Creates something new.
Remove Deletes or removes something.
  • La parte del sostantivo del nome identifica l’entità o l’oggetto su cui viene eseguita l’azione, il bersaglio su cui agire. Il sostantivo descrive tipicamente la categoria o il tipo di oggetto con cui il cmdlet interagisce, come comando, processo, servizio o file.

Per vedere tutti i verbi approvati che puoi utilizzare per il tuo script:

Esegui il seguente cmdlet Get-Verb per ottenere una lista completa dei verbi approvati da PowerShell.

Get-Verb

Di seguito viene mostrata solo una parte dei verbi che puoi utilizzare per il tuo script.

Retrieving a complete list of approved verbs

Ora, esegui lo stesso comando come indicato di seguito, ma questa volta elencherai tutti i verbi approvati che iniziano con re tramite una ricerca con caratteri jolly. In questo modo si riduce l’elenco dei verbi a quelli associati a reset, resize, redo, e così via.

Get-Verb re*

Come mostrato di seguito, restringere l’elenco dei verbi può essere utile quando hai un’azione specifica in mente e desideri trovare un verbo che corrisponda strettamente a quell’azione.

Narrowing down the list of approved verbs

Creazione di Nuove Risorse tramite il Verbo New

Hai appena recuperato un elenco di verbi approvati in PowerShell, ma come li usi in uno script o quando esegui comandi? Aggiungerai il verbo New a un sostantivo che rappresenta il tipo di risorsa che desideri creare (ad esempio, utente, file, servizio).

Ma in questo esempio, creerai una nuova risorsa, specificamente un nuovo utente, come segue:

Esegui il seguente comando New-LocalUser per creare un nuovo utente chiamato John Smith con una password (Password123) e impostare l’account per non scadere (-AccountNeverExpires).

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

Ricavare Informazioni sulle Risorse tramite il Verbo Get

Oltre a creare nuove risorse, PowerShell ha anche un verbo che ti permette di ottenere informazioni su una qualsiasi delle tue risorse esistenti. In PowerShell, il verbo Get è comunemente usato per ottenere informazioni su una particolare risorsa, come il sistema operativo, i servizi, i file e altri oggetti.

Per ottenere informazioni sulle risorse tramite il verbo Get:

Esegui il comando Get-LocalUser qui sotto per ottenere informazioni su un utente locale specifico (John Smith).

Get-LocalUser -Name "John Smith"

Di seguito, l’output mostra che l’account utente John Smith è Abilitato (attivo).

Retrieving resource information via the Get verb

Modifica delle Risorse Esistenti tramite il Verbo Set

Immagina di aver notato qualcosa di strano dopo aver visto le informazioni di una delle tue risorse. Come puoi modificare una risorsa esistente? Non preoccuparti! Un verbo approvato da PowerShell, il verbo Set, ti permette di apportare modifiche alle risorse esistenti.

Al posto di ricreare risorse, il verbo Set ti permette di adattare modificando le loro proprietà o configurazioni.

Per modificare le risorse esistenti tramite il verbo Set:

Esegui i seguenti comandi per impostare il valore di $myVariable su Hello e modificare il valore di $myVariable su Hello, World!. Questi comandi non forniscono output, ma verificherai le modifiche nel passaggio successivo.

# Definisci una risorsa variabile
$myVariable = "Hello"

# Modifica il valore di una risorsa variabile esistente
Set-Variable -Name myVariable -Value "Hello, World!"

Adesso, esegui il comando Get-Variable di seguito per recuperare informazioni sulla tua risorsa ($myVariable).

Get-Variable -Name myVariable

Come mostrato di seguito, l’output visualizza il nome e il valore della variabile.

Retrieving information about a resource

Attivazione Azioni o Invocazione Comandi tramite il Verbo Invoke

Piuttosto che eseguire manualmente comandi, come hai fatto negli esempi precedenti, perché non automatizzarli in uno script di PowerShell? Come? Il verbo Invoke ti permette di avviare azioni o invocare comandi in modo programmatico.

Con uno script di PowerShell e il verbo Invoke, puoi eseguire più comandi di PowerShell contemporaneamente senza digitarli tutti nella console.

Per vedere come funzionano le azioni di attivazione tramite il verbo Invoke:

1. Esegui il seguente comando Invoke-Expression per invocare il comando Get-Date, che ti permette di recuperare la data e l’ora correnti.

Invoke-Expression -Command "Get-Date"

Il risultato qui sotto mostra un’esecuzione riuscita del comando Get-Date tramite il verbo Invoke.

Triggering a command via the Invoke verb

2. Successivamente, crea un file di script PowerShell (ad esempio, InvokeVerbDemo.ps1) con il tuo editor di codice preferito e inserisci il seguente codice.

Questo codice visualizza (Write-Host) un messaggio di benvenuto e invoca il cmdlet Get-Service per elencare tutti i servizi nel tuo sistema.

# Visualizza un messaggio di benvenuto
Write-Host "Welcome to the Invoke Example!"

# Invoca il cmdlet Get-Service
Invoke-Command -ScriptBlock { Get-Service }

3. Ora, esegui i seguenti comandi per invocare (Invoke-Expression) il tuo script PowerShell (InvokeVerbDemo.ps1). Sostituisci il valore della variabile $scriptPath con il percorso del tuo file di script.

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

Il risultato qui sotto mostra un messaggio di benvenuto e un elenco di tutti i servizi nel tuo sistema, confermando così l’esecuzione riuscita del tuo script.

Invoking a script via the Invoke verb

4. Invece di solo comandi, scrivi una funzione riutilizzabile (ad esempio, Invoke-MyTask) che puoi chiamare in qualsiasi momento, come mostrato di seguito. Essenzialmente, le funzioni migliorano la manutenibilità e la riutilizzabilità dei tuoi script PowerShell.

In questo esempio, la funzione Invoke-MyTask racchiude i comandi per eseguire quanto segue quando viene invocata:

  • Mostra (Write-Host) la stringa Esecuzione di MyTask... sulla console.
  • Recupera l’elenco di tutti i processi (Get-Process) e seleziona solo (Select-Object) le proprietà Name e CPU per ciascun processo.
# Definire una funzione personalizzata usando il verbo Invoke
function Invoke-MyTask {
    # Il tuo compito personalizzato va qui
    Write-Host "Executing MyTask..."
    Get-Process | Select-Object Name, CPU
}
Defining a PowerShell function

5. Infine, esegui il seguente comando per invocare la tua funzione (Invoke-MyTask).

Invoke-Expression -Command Invoke-MyTask

Vedrai un elenco di tutti i processi in esecuzione sul tuo sistema con i loro nomi e utilizzo della CPU, come mostrato di seguito.

Invoking a function

Convalida delle risorse tramite il verbo Test

Garantire l’accuratezza dei valori di input e delle condizioni è fondamentale quando si creano script PowerShell robusti e resistenti agli errori. Uno strumento potente a tua disposizione per questo scopo è il verbo Test.

Utilizzando il verbo Test, puoi verificare rapidamente se una determinata condizione è vera o falsa, consentendoti di eseguire diverse azioni in base all’esito. In questo esempio, convaliderai se un file esiste tramite il verbo Test.

Esegui il codice qui sotto per testare (Test-Path) se un file esiste (C:\MyFolder\example.txt) al percorso specificato $filePath, e stampa un messaggio a seconda del risultato.

# Definire un percorso del file.
$filePath = "C:\MyFolder\example.txt"

# Testare se il file esiste e stampare un messaggio a seconda del risultato
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

Conclusioni

Ora hai una comprensione di base dei verbi approvati da PowerShell e di come usarli efficacemente nei tuoi script e comandi. Sfruttando questi verbi, ora puoi creare soluzioni PowerShell robuste, efficienti e coerenti per varie attività e scenari.

Questo tutorial è solo l’inizio del tuo viaggio per diventare un utente competente di PowerShell. Perché non imparare altri verbi approvati, come ad esempio verbi di manipolazione dei dati (cioè, Esporta, Importa, Ordina) e verbi del ciclo di vita (cioè, Avvia, Ferma)? Porta le tue competenze in PowerShell al livello successivo oggi!

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