PowerShell Beheersen: Beginnersgids voor Krachtig Scripten
Laten we beginnen met PowerShell-lessen. Eerst leren we:
Wat is PowerShell?
Windows PowerShell is een objectgeoriënteerde automatiseringsengine en scripttaal. Het is voornamelijk ontworpen voor IT-professionals en systeembeheerders om de administratie van Windows OS en andere applicaties te controleren en te automatiseren. Het biedt overtuigende nieuwe concepten om de kennis die je hebt opgedaan en scripts die je hebt gemaakt binnen de Windows Command Prompt en Windows Script Host-omgevingen uit te breiden.
Het combineert de flexibiliteit van scripten, commandoregel-snelheid en de kracht van een GUI-gebaseerd beheertool. Het stelt je in staat om problemen efficiënt op te lossen door systeembeheerders toekomstige handmatige uren te besparen. We doorlopen alle belangrijke aspecten die je moet kennen om PowerShell te leren.
In deze PowerShell-tutorial voor beginners leer je PowerShell-basics zoals:
- Wat is PowerShell?
- Waarom PowerShell Gebruiken?
- PowerShell Geschiedenis
- Kenmerken van PowerShell
- Hoe PowerShell te Starten
- PowerShell Cmdlet
- Cmdlet vs Commando:
- PowerShell Datatypes:
- Speciale Variabelen
- PowerShell Scripts
- Eerste PowerShell-script
- Wat is PowerShell ISE?
- PowerShell Concepten
- PowerShell vs Opdrachtprompt
- Toepassingen van PowerShell
Dit is een complete gids voor PowerShell-scripting-basics… laten we beginnen!
Waarom PowerShell Gebruiken?
Hier zijn enkele belangrijke redenen om PowerShell te gebruiken:
- PowerShell biedt een goed geïntegreerde commandoregel-ervaring voor het besturingssysteem.
- PowerShell geeft volledige toegang tot alle typen in het .NET-framework.
- Vertrouwd door systeembeheerders.
- PowerShell is een eenvoudige manier om server- en werkstationcomponenten te manipuleren.
- Het is gericht op systeembeheerders door een eenvoudigere syntaxis te creëren.
- PowerShell is veiliger dan VBScript of andere scripttalen uit te voeren.
PowerShell Geschiedenis
PowerShell eerste versie 1.0 werd uitgebracht in 2006. Vandaag is PowerShell op versie 7.2. Naarmate de jaren en versies voorbijgingen, groeiden PowerShell's mogelijkheden en hosting-omgevingen aanzienlijk.
Versiegeschiedenis van PowerShell:
- PowerShell versie 1 ondersteunde lokale administratie van Windows Server 2003.
- PowerShell 2.0 was geïntegreerd met Windows 7 en Windows Server 2008 R2. Deze versie ondersteunt remoting en verbetert mogelijkheden zoals transacties, achtergrondjobs, events, debugging, enz.
- PowerShell 3.0 werd uitgebracht als intern deel van het Windows Management Framework. Het werd geïnstalleerd op Windows 8 en Windows Server 2012. Je kunt taken toevoegen en plannen, sessieconnectiviteit, automatische module-lading, enz.
- PowerShell 4.0 werd geleverd met Windows 8.1 en Windows Server 2012 R2. In deze versie werd ondersteuning toegevoegd voor desired state configuration, verbeterde debugging, netwerkdiagnostiek.
- PowerShell 5.0 werd uitgebracht als intern deel van Windows Management Framework 5. De features in deze versie zijn remote debugging, klassedefinities, .NET-enumeraties, enz.
- PowerShell 7.2 werd uitgebracht. Het is gebouwd op .NET 6.0. Deze versie biedt nieuwe operatoren, vereenvoudigde en dynamische foutweergave, automatische nieuwe versie-notificaties, enz.
Vervolgens in deze PowerShell-scripting-tutorial leren we over de kenmerken van PowerShell.
Kenmerken van PowerShell
- PowerShell Remoting: PowerShell stelt scripts en cmdlets in staat om op een remote machine aangeroepen te worden.
- Achtergrondjobs: Helpt je om script of pipeline asynchroon aan te roepen. Je kunt jobs lokaal of op meerdere remote machines draaien.
- Transacties: Schakelt cmdlet in en stelt ontwikkelaars in staat om te performen.
- Events: Dit commando helpt je te luisteren, doorsturen en actie ondernemen op beheer- en systeemevenementen.
- Netwerkbestandsoverdracht: PowerShell biedt native ondersteuning voor geprioriteerde, asynchrone, getrotte overdracht van bestanden tussen machines met behulp van Background Intelligent Transfer Service (BITS)-technologie.
Hoe PowerShell te Starten
Nu in deze PowerShell-script-tutorial leren we hoe PowerShell op Windows OS te starten.
PowerShell is voorgeïnstalleerd in alle recente versies van Windows. We moeten PowerShell starten, daarvoor volgen we de gegeven stappen:
Stap 1) Zoek naar PowerShell in Windows. Selecteer en Klik.

Stap 2) PowerShell-venster opent.

PowerShell Cmdlet
Een cmdlet, ook Commandlet genoemd, is een lichtgewicht commando dat gebruikt wordt in de Windows PowerShell-omgeving. PowerShell roept deze cmdlets aan in de commandoprompt. Je kunt cmdlet-commando's maken en aanroepen met behulp van PowerShell API's.
Cmdlet vs. Commando:
Cmdlets verschillen van commando's in andere command-shell-omgevingen op de volgende manieren:
- Cmdlets zijn .NET Framework-klasseobjecten; ze kunnen niet los uitgevoerd worden.
- Cmdlets kunnen samengesteld worden uit slechts een tiental regels code.
- Parsing, outputformattering en foutpresentatie worden niet door cmdlets afgehandeld.
- Cmdlets werken op objecten. Dus tekststromen en objecten kunnen niet als output voor pipelining doorgegeven worden.
- Cmdlets zijn record-gebaseerd; ze verwerken één object tegelijk.
De meeste PowerShell-functionaliteit komt van Cmdlets, wat altijd in werkwoord-naamwoord-formaat is en niet meervoud. Bovendien retourneren Cmdlets objecten, geen tekst. Een cmdlet is een reeks commando's, meer dan één regel, opgeslagen in een tekstbestand met een .ps1-extensie.
Een cmdlet bestaat altijd uit een werkwoord en een naamwoord, gescheiden door een streepje. Enkele van de werkwoorden die je gebruikt om PowerShell te leren:
- Get — Om iets op te halen
- Start — Om iets te draaien
- Out — Om iets uit te voeren
- Stop — Om iets te stoppen dat draait
- Set — Om iets te definiëren
- New — Om iets te creëren
PowerShell-commando's
Hieronder een lijst van belangrijke PowerShell-commando's:
Get-Help: Help over PowerShell-commando's en onderwerpen.
Voorbeeld: Toon help-informatie over het commando Format-Table.
Get-Help Format-Table

Get-Command: Krijg informatie over alles wat aangeroepen kan worden.
PowerShell-scriptvoorbeeld: Genereer een lijst van cmdlets, functies geïnstalleerd op je machine.
Get-Command

Get-Service: Vind alle cmdlets met het woord 'service' erin.
Voorbeeld: Haal alle services die beginnen met "vm".
Get-Service "vm*"

Get-Member: Toon wat er met een object gedaan kan worden.
Voorbeeld: Krijg leden van de vm-processen.
Get-Service "vm*" | Get-Member

Overige Commando's:
- Get-Module: Toont pakketten van commando's
- Get-Content: Deze cmdlet kan een bestand nemen, de inhoud verwerken en er iets mee doen
- Get-: Vind alle cmdlets die beginnen met het woord 'get-'
Voorbeeld: Een map aanmaken
New-Item -Path 'X:\Guru99' -ItemType Directory
Output

PowerShell Datatypes:
Speciale Variabelen
| Speciale Variabele | Beschrijving |
|---|---|
| $Error | Een array van foutobjecten die de meest recente fouten tonen |
| $Host | Toont de naam van de huidige hostende applicatie |
| $Profile | Slaat het volledige pad van een gebruikersprofiel voor de standaard-shell op |
| $PID | Slaat de proces-identifier op |
| $PSUICulture | Bevat de naam van de huidige UI-cultuur |
| $NULL | Bevat lege of NULL-waarde |
| $False | Bevat FALSE-waarde |
| $True | Bevat TRUE-waarde |
PowerShell Scripts
PowerShell-scripts worden opgeslagen in .ps1-bestanden. Standaard kun je een script niet uitvoeren door er gewoon op te dubbelklikken. Dit beschermt je systeem tegen ongelukkelijke schade. Om een script uit te voeren:
Stap 1: rechtermuisklik erop en klik "Uitvoeren met PowerShell."

Daarnaast is er een beleid dat scriptuitvoering beperkt. Je kunt dit beleid zien door het Get-ExecutionPolicy-commando uit te voeren.
Je krijgt een van de volgende outputs:
- Restricted — Geen scripts toegestaan. Dit is de standaardinstelling, dus het wordt de eerste keer getoond wanneer je het commando uitvoert.
- AllSigned — Je kunt scripts uitvoeren die door een vertrouwde ontwikkelaar zijn getekend. Met deze instelling vraagt een script om bevestiging dat je het wilt uitvoeren voordat het wordt uitgevoerd.
- RemoteSigned — Je kunt je eigen scripts of scripts die door een vertrouwde ontwikkelaar zijn getekend, uitvoeren.
- Unrestricted — Je kunt elk script uitvoeren dat je wilt.
Stappen om Uitvoeringsbeleid te Wijzigen
Stap 1) Open een verhoogde PowerShell-prompt. Rechtermuisklik op PowerShell en "Als administrator uitvoeren".

Stap 2) Voer de volgende commando's in:
- Get-ExecutionPolicy
- Set-ExecutionPolicy Unrestricted
- Voer Y in bij de prompt
- Get-ExecutionPolicy

Eerste PowerShell-script
In Kladblok schrijf het volgende commando:
Write-Host "Hallo, Guru99!"
PowerShell-scripts hebben extensie .ps1. Sla het bestand op als EersteScript.ps1

In PowerShell, roep het script aan met het commando:
& "X:\EersteScript.ps1"

Wat is PowerShell ISE?
De Windows PowerShell Integrated Scripting Environment (ISE) is de standaardeditor voor Windows PowerShell. In deze ISE kun je commando's uitvoeren, schrijven, testen en debuggen in een GUI-vensteromgeving. Je kunt multiline bewerken, syntaxiskleuring, tab-voltooiing, selectieve uitvoering en nog veel meer.
Windows PowerShell ISE stelt je ook in staat om commando's in een console-paneel uit te voeren. Het ondersteunt echter ook panelen waarmee je de broncode van je script en andere tools die je in de ISE kunt pluggen, gelijktijdig kunt bekijken.
Je kunt zelfs meerdere scriptvensters tegelijk openen. Dit is specifiek nuttig wanneer je een script debugt dat functies gebruikt gedefinieerd in andere scripts of modules.
Hetzelfde script dat we in Kladblok maakten, kan in ISE gemaakt worden:
- Plak code in de editor
- Sla script op
- Gebruik F5 om het script uit te voeren
- Observeer output in de console

Voorbeeld 2:
De volgende code geeft het vrije virtuele geheugen in je machine:
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory

PowerShell Concepten
Nu in deze PowerShell-voor-beginners-tutorial leren we over belangrijke PowerShell-concepten:
Cmdlets Cmdlets zijn ingebouwde commando's geschreven in .NET-talen zoals VB of C#. Het stelt ontwikkelaars in staat de set cmdlets uit te breiden door PowerShell snap-ins te laden en te schrijven.
Functies Functies zijn commando's geschreven in de PowerShell-taal. Ze kunnen ontwikkeld worden zonder andere IDE zoals Visual Studio en devs.
Scripts Scripts zijn tekstbestanden op schijf met een .ps1-extensie.
Applicaties Applicaties zijn bestaande Windows-programma's.
WhatIf Vertelt de cmdlet niet uit te voeren, maar te vertellen wat er zou gebeuren als de cmdlet zou draaien.
Confirm Instructeert de cmdlet om te vragen voordat het commando wordt uitgevoerd.
Verbose Geeft een hoger detailniveau.
Debug Instructeert de cmdlet om debug-informatie te verstrekken.
ErrorAction Instructeert de cmdlet om een specifieke actie te ondernemen wanneer een fout optreedt. Toegestane acties: continue, stop, silently-continue en inquire.
ErrorVariable Specificeert de variabele die foutinformatie bevat.
OutVariable Vertelt de cmdlet om een specifieke variabele te gebruiken om de output-informatie op te slaan.
OutBuffer Instructeert de cmdlet om een specifiek aantal objecten vast te houden voordat de volgende cmdlet in de pipeline wordt aangeroepen.
Voordelen van PowerShell-script Gebruik
- PowerShell-scripts zijn echt krachtig en kunnen veel dingen in minder regels doen.
- Variabelen worden gedeclareerd in de vorm $<variabele>.
- Variabelen kunnen gebruikt worden om de output van commando's, objecten en waarden op te slaan.
- "Type" van een variabele hoeft niet gespecificeerd te worden.
PowerShell vs. Opdrachtprompt
| PowerShell | Opdrachtprompt |
|---|---|
| PowerShell integreert diep met het Windows OS. Het biedt een interactieve commandoregel-interface en scripttaal. | Opdrachtprompt is een standaard commandoregel-interface geleverd door Microsoft. Het is een eenvoudige win32-applicatie die kan interacteren en praten met elke win32-objecten in het Windows-besturingssysteem. |
| PowerShell gebruikt wat cmdlets genoemd worden. Ze kunnen aangeroepen worden in de runtime-omgeving of automatiseringsscripts. | Geen dergelijke functies geboden door opdrachtprompt. |
| PowerShell beschouwt ze als objecten. Dus de output kan als input doorgegeven worden aan andere cmdlets via de pipeline. | Opdrachtprompt of zelfs de *nix-shell, de output gegenereerd door een cmdlet is niet alleen een stroom tekst maar een verzameling objecten. |
| PowerShell is zeer geavanceerd wat betreft features, mogelijkheden en innerlijke werking. | Opdrachtprompt is zeer basic. |
Toepassingen van PowerShell
Vandaag is PowerShell een ideale keuze voor IT-beheerders omdat het beheerbewerkingen en inspanning in grote bedrijfsnetwerken vergemakkelijkt. Stel je voor dat je een groot netwerk beheert met meer dan vierhonderd servers. Nu wil je een nieuwe beveiligingsoplossing implementeren. Deze beveiligingsoplossing hangt af van een bepaalde service die op die servers moet draaien.
Je kunt zeker op elke server inloggen en kijken of die service geïnstalleerd en draaiend is. Echter, dat neemt zeker veel menselijke fouten in beslag omdat je personeel veel tijd moet besteden aan dit onproductieve proces.
Echter, als je PowerShell gebruikt, dan kun je deze taak in slechts een paar minuten voltooien. Dat is omdat de hele operatie gedaan wordt met een enkel script dat informatie verzamelt over de services die op de servers draaien.
Samenvatting
- Windows PowerShell is een objectgeoriënteerde automatiseringsengine en scripttaal.
- PowerShell biedt een goed geïntegreerde commandoregel-ervaring voor het besturingssysteem.
- PowerShell eerste versie 1.0 werd uitgebracht in 2006.
- PowerShell stelt scripts en cmdlets in staat om op een remote machine aangeroepen te worden.
- PowerShell is voorgeïnstalleerd in alle recente versies van Windows.
- Een cmdlet is een lichtgewicht commando in de Windows PowerShell-omgeving.
- Get, Start, Out, Stop, Set, New zijn belangrijke PowerShell-commando's.
- Boolean, Byte, Char, Decimal, Long zijn belangrijke Datatypes van PowerShell.
- $Error, $Host, $Profile, $PID, $PSUICulture, $NULL zijn enkele speciale variabelen in PowerShell.
- De Windows PowerShell Integrated Scripting Environment (ISE) is de standaardeditor voor PowerShell.
- PowerShell integreert diep met het Windows OS, terwijl Opdrachtprompt een standaard commandoregel-interface is geleverd door Microsoft.
- PowerShell is een ideale keuze voor IT-beheerders geworden omdat het beheerbewerkingen en inspanning in grote bedrijfsnetwerken vergemakkelijkt.
C Taal
- Windows 10 IoT Core Installeren op Raspberry Pi 3 Model B+: Stap-voor-stap Handleiding
- Bouw een Raspberry Pi Obstakel-vermijdende Robot – Een Beginnersgids
- Metaalfabricage 101: Een duidelijke gids voor beginners
- CNC-routers voor beginners: De markt meesteren met mühelose precisie
- CNC-Frezen Beheersen: 4 Essentiële Tips Voor Beginners
- Visual Studio 2019 Community Edition Installeren voor C# Ontwikkeling op Windows
- C# Control Flow: IF, SWITCH, FOR, WHILE – Praktische Voorbeelden & Uitleg
- C# Windows Forms Ontwikkeling: Een Hands-On Tutorial
- Top 10 C# IDE's voor Windows, macOS en Linux – 2021 Review
- De ultieme gids voor de beste C IDE's voor Windows, macOS en Linux (2021)
- C Programmeren leren: Uitgebreide PDF-tutorial voor beginners