Uw Startgids voor Goedgekeurde PowerShell Werkwoorden

Wanneer het gaat om PowerShell-scripting, maken consistente benamingconventies de taak van het bouwen van robuuste oplossingen veel eenvoudiger. Het goede nieuws is dat er door PowerShell goedgekeurde werkwoorden zijn die je kunt gebruiken bij het schrijven van scripts en commando’s.

In deze tutorial leer je welke goedgekeurde werkwoorden je moet gebruiken in PowerShell aan de hand van een reeks voorbeelden.

Duik er meteen in en verbeter je PowerShell-scripting!

Vereisten

Deze tutorial bestaat uit praktische demonstraties. Als je wilt meedoen, zorg er dan voor dat je een systeem hebt dat PowerShell 5.1 of later uitvoert. Deze tutorial gebruikt Windows 11 met PowerShell 7.

Het ophalen van een lijst met door PowerShell goedgekeurde werkwoorden

In PowerShell zijn cmdlets kleine, enkelvoudige opdrachten die specifieke acties uitvoeren in de PowerShell-omgeving.

Elke cmdlet in PowerShell heeft een unieke naam die een werkwoord-zelfstandig naamwoord-paar volgt waarbij:

  • Het werkwoordgedeelte van de naam beschrijft de actie die de cmdlet uitvoert. Enkele veelvoorkomende werkwoorden die in PowerShell worden gebruikt, zijn als volgt:
Verb Function
Get Retrieves information.
Set Changes or updates settings.
New Creates something new.
Remove Deletes or removes something.
  • Het zelfstandig naamwoordgedeelte van de naam identificeert de entiteit of het object waarop de actie wordt uitgevoerd, het doelwit waarop actie moet worden ondernomen. Het zelfstandig naamwoord beschrijft doorgaans de categorie of het type object waarmee de cmdlet interactie heeft, zoals opdracht, proces, service of bestand.

Om alle goedgekeurde werkwoorden te zien die je kunt gebruiken voor je script:

Voer het volgende Get-Verb-cmdlet uit om een volledige lijst van door PowerShell goedgekeurde werkwoorden te krijgen.

Get-Verb

De uitvoer hieronder toont slechts een paar werkwoorden die je kunt gebruiken voor je script.

Retrieving a complete list of approved verbs

Voer nu hetzelfde commando uit als hieronder, maar deze keer, zal je alle goedgekeurde werkwoorden die beginnen met re via een wildcard-zoekopdracht weergeven. Hierdoor wordt de lijst van werkwoorden beperkt tot die geassocieerd zijn met reset, resize, redo, enzovoort.

Get-Verb re*

Zoals hieronder getoond, kan het beperken van de lijst van werkwoorden nuttig zijn wanneer je een specifieke actie in gedachten hebt en een werkwoord wilt vinden dat nauw aansluit bij die actie.

Narrowing down the list of approved verbs

Het Maken van Nieuwe Bronnen via het New Werkwoord

Je hebt zojuist een lijst van goedgekeurde werkwoorden in PowerShell opgehaald, maar hoe gebruik je die werkwoorden in je script of bij het uitvoeren van commando’s? Je zult het New werkwoord voorvoegen aan een zelfstandig naamwoord dat het type bron vertegenwoordigt dat je wilt maken (bijv. gebruiker, bestand, service).

Maar in dit voorbeeld, zal je een nieuwe bron maken, specifiek een nieuwe gebruiker, als volgt:

Voer het volgende New-LocalUser-commando uit om een nieuwe gebruiker genaamd John Smith aan te maken met een wachtwoord (Wachtwoord123) en stel het account in om nooit te verlopen (-AccountNeverExpires).

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

Resource-informatie ophalen via het Get-werkwoord

Naast het maken van nieuwe resources heeft PowerShell ook een werkwoord waarmee je informatie kunt ophalen over een van je bestaande resources. In PowerShell wordt het Get-werkwoord veel gebruikt om informatie op te halen over een specifieke resource, zoals het besturingssysteem, services, bestanden en andere objecten.

Om resource-informatie op te halen via het Get-werkwoord:

Voer de onderstaande opdracht Get-LocalUser uit om informatie te krijgen over een specifieke lokale gebruiker (John Smith).

Get-LocalUser -Name "John Smith"

Hieronder toont de output dat het gebruikersaccount John Smith Ingeschakeld is (actief).

Retrieving resource information via the Get verb

Bestaande resources aanpassen via het Set-werkwoord

Stel je voor dat je iets hebt opgemerkt nadat je informatie over een van je resources hebt gezien. Hoe kun je een bestaande resource aanpassen? Maak je geen zorgen! Met een door PowerShell goedgekeurd werkwoord, het Set-werkwoord, kun je wijzigingen aanbrengen in bestaande resources.

In plaats van resources opnieuw aan te maken, stelt het Set-werkwoord je in staat om aanpassingen te doen door hun eigenschappen of configuraties te wijzigen.

Om bestaande resources aan te passen via het Set-werkwoord:

Voer de onderstaande opdrachten uit om de waarde van `$myVariable` in te stellen op `Hello` en wijzig de waarde van `$myVariable` naar `Hello, World!`. Deze opdrachten geven geen output, maar je zult de wijzigingen verifiëren in de volgende stap.

# Definieer een variabelenbron
$myVariable = "Hello"

# Wijzig de waarde van een bestaande variabelenbron
Set-Variable -Name myVariable -Value "Hello, World!"

Voer nu het commando Get-Variable hieronder uit om informatie op te halen over je bron (`$myVariable`).

Get-Variable -Name myVariable

Zoals hieronder wordt weergegeven, toont de output de naam en waarde van de variabele.

Retrieving information about a resource

Acties Triggeren of Opdrachten Oproepen via het Invoke-Werkwoord

In plaats van handmatig commando’s uit te voeren, zoals je in de vorige voorbeelden hebt gedaan, waarom automatiseer je ze niet in een PowerShell-script? Hoe? Het Invoke-werkwoord stelt je in staat om acties te initiëren of commando’s programmatisch op te roepen.

Met een PowerShell-script en het Invoke-werkwoord kun je meerdere PowerShell-commando’s tegelijk uitvoeren zonder ze allemaal in de console te typen.

Om te zien hoe het triggeren van acties werkt via het Invoke-werkwoord:

1. Voer het volgende Invoke-Expression-commando uit om het Get-Date-commando op te roepen, waarmee je de huidige datum en tijd kunt ophalen.

Invoke-Expression -Command "Get-Date"

De onderstaande uitvoer toont een succesvolle uitvoering van het Get-Date-commando via het werkwoord Invoke.

Triggering a command via the Invoke verb

2. Maak vervolgens een PowerShell-scriptbestand (bijv., InvokeVerbDemo.ps1) met uw voorkeurscode-editor en vul de volgende code in.

Deze code toont (Write-Host) een welkomstbericht en roept het Get-Service-cmdlet aan om alle services in uw systeem weer te geven.

# Toon een warm welkomstbericht
Write-Host "Welcome to the Invoke Example!"

# Roep het Get-Service cmdlet aan
Invoke-Command -ScriptBlock { Get-Service }

3. Voer nu de volgende commando’s uit om uw PowerShell-script (InvokeVerbDemo.ps1) aan te roepen (Invoke-Expression). Vervang de waarde van de variabele $scriptPath door het pad van uw scriptbestand.

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

De onderstaande uitvoer toont een welkomstbericht en een lijst van alle services in uw systeem, wat de succesvolle uitvoering van uw script bevestigt.

Invoking a script via the Invoke verb

4. In plaats van alleen commando’s, schrijf een herbruikbare functie (bijv., Invoke-MyTask) die je op elk moment kunt aanroepen, zoals hieronder getoond. Functies verbeteren in wezen de onderhoudbaarheid en herbruikbaarheid van je PowerShell-scripts.

In dit voorbeeld omvat de Invoke-MyTask-functie commando’s om het volgende uit te voeren wanneer het wordt aangeroepen:

  • Toont (Write-Host) de string Executing MyTask... op de console.
  • Haalt de lijst op van alle processen (Get-Process) en selecteert alleen (Select-Object) de eigenschappen Name en CPU voor elk proces.
# Definieer een aangepaste functie met het Invoke-werkwoord
function Invoke-MyTask {
    # Jouw aangepaste taak komt hier
    Write-Host "Executing MyTask..."
    Get-Process | Select-Object Name, CPU
}
Defining a PowerShell function

5. Voer tot slot onderstaand commando uit om je functie aan te roepen (Invoke-MyTask).

Invoke-Expression -Command Invoke-MyTask

U ziet een lijst van alle processen die op uw systeem worden uitgevoerd met hun namen en CPU-gebruik, zoals hieronder weergegeven.

Invoking a function

Valideren van bronnen via het \texttt{Test} werkwoord

Het waarborgen van de nauwkeurigheid van invoerwaarden en voorwaarden is van het grootste belang bij het maken van robuuste en foutbestendige PowerShell-scripts. Een krachtig hulpmiddel dat u hiervoor tot uw beschikking heeft, is het \texttt{Test} werkwoord.

Door gebruik te maken van het \texttt{Test} werkwoord, kunt u snel controleren of een bepaalde voorwaarde een waar- of onwaarwaarde heeft, waardoor u verschillende acties kunt uitvoeren op basis van het resultaat. In dit voorbeeld zult u valideren of een bestand bestaat via het \texttt{Test} werkwoord.

Voer de onderstaande code uit om te testen (\texttt{\href{https://adamtheautomator.com/powershell-test-path/}{Test-Path}}) of een bestand bestaat (\texttt{C:\MyFolder\example.txt}) op de gespecificeerde \texttt{\$filePath}, en druk een bericht af, afhankelijk van het resultaat.

# Definieer een bestandspad.
$filePath = "C:\MyFolder\example.txt"

# Test of het bestand bestaat, en druk een bericht af, afhankelijk van het resultaat
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

Conclusie

U heeft nu een basisbegrip van door PowerShell goedgekeurde werkwoorden en hoe u ze effectief kunt gebruiken in uw scripts en opdrachten. Door deze werkwoorden te benutten, kunt u nu robuuste, efficiënte en consistente PowerShell-oplossingen maken voor verschillende taken en scenario’s.

Deze tutorial is slechts het begin van jouw reis om een bekwame PowerShell-gebruiker te worden. Waarom leer je niet andere goedgekeurde werkwoorden, zoals gegevensmanipulatiewerkwoorden (bijv. Export, Import, Sort) en levenscycluswerkwoorden (bijv. Start, Stop)? Breng vandaag jouw PowerShell-vaardigheden naar een hoger niveau!

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