Frederik Vanhoo is docent en geeft onder andere binnen HOGENT een semesteronderdeel PowerShell in de opleiding systeem- en netwerkbeheer.
Meer over Frederik VanhooHandboek PowerShell - Vlot gebruiken
Paperback Nederlands 2024 3e druk 9789463563574Samenvatting
In deze geactualiseerde editie van het Handboek Powershell leer je hoe je zowel Windows PowerShell 5.1 als de nieuwste versie, PowerShell 7.5, kunt gebruiken voor diverse automatiseringstaken en systeembeheer. Je krijgt gedetailleerde Nederlandstalige uitleg om PowerShell-instructies te begrijpen, wijzigen en toepassen, waardoor je snel de benodigde kennis en vaardigheden opdoet. Daarnaast maak je gebruik van de PowerShell Integrated Scripting Environment (ISE) en Visual Studio Code als Integrated Development Environments (IDE’s). Met deze tools kun je complexe en uitgebreide instructies, scripts en modules creëren.
Het boek behandelt ook het toepassen van PowerShell op Linux-distributies zoals Debian en Red Hat, en de integratie met Microsoft 365 via Microsoft Graph Je leert hoe je remote verbindingen opzet over verschillende besturingssystemen heen, wat essentieel is voor efficiënt cross-platform beheer. Een ander belangrijk aspect is het gebruik van de Command Line Interface (CLI) om een Windows-domein aan te sturen en verbinding te maken met een Microsoft 365-tenant (Azure). Dit is cruciaal voor het beheer van moderne hybride cloudomgevingen.
Verder wordt je kennis uitgebreid met de bouwstenen van PowerShell die nodig zijn om zelf cmdlets en modules aan te maken. Dit stelt je in staat om jouw automatiseringsmogelijkheden verder te vergroten en aan te passen aan je specifieke behoeften.Tot slot biedt het boek een uitgebreid onderdeel met diverse extra’s waarin PowerShell wordt gebruikt. Hierdoor leer je het maximale uit deze krachtige scripttaal te halen.
> Voor zowel Windows- als Linux-distributies zoals Debian en Red Hat.
> Inclusief het opzetten van remote verbindingen voor efficiënt cross-platformbeheer.
> Helpt bij het optimaal stroomlijnen van IT-beheer en workflows, met behulp van PowerShell ISE en Visual Studio Code als IDE’s.
Specificaties
Lezersrecensies
Inhoudsopgave
Vereiste kennis en benodigdheden xvii
Hoe gebruik je dit boek? xix
Optie 1: onderwerp na onderwerp xix
Optie 2: meteen starten met het uitbouwen van een domein xix
Optie 3: uit het boek halen wat nodig is xix
Tot slot xx
Deel 1: Wegwijs in PowerShell 1
Introductie 2
Opmerkingen bij de oefeningen (virtualisatiehulp op volgende pagina) 5
Virtualisatiesoftware: Oracle VirtualBox 6
Virtualisatiesoftware: VMware 9
Virtualisatiesoftware: Hyper-V 10
Starten met virtualisatie 11
1 Aan de slag 12
2 Eerste instructie uitvoeren 13
3 Gebruikmaken van Windows PowerShell ISE 13
4 Visual Studio Code 16
5 Typische PowerShell-opmerkingen 16
6 Houd rekening met iedereen 17
7 Escapeteken 17
8 Cmdlets 18
9 Snel werken met PowerShell 19
10 Parameters bij cmdlets 20
11 Anatomie van PowerShell-commando 21
12 Bouwstenen 21
13 Waarde toekennen aan een variabele 22
14 Opbouwen van een stevige instructie 23
15 Gebruik -whatif om instructie te controleren 28
16 Hulp krijgen over cmdlets 28
17 Twee soorten problemen bij cmdlets 29
18 Begrijp de verschillende soorten haakjes 30
19 Beveiligingsbeleid op orde stellen 32
20 Een vertrouwensrelatie (signed) voor eigen scripts 33
21 Credentials meegeven via een object 34
22 Parameters instellen bij starten PowerShell 35
23 PowerShell starten vanuit een batchbestand of Cmd-venster 35
24 PowerShell automatisch starten als administrator – I 36
25 Werken met variabelen 37
26 De pipeline | in het kort 38
27 Objecten 38
28 Eigenschappen 38
29 Methoden 38
Oefeningen 39
30 Get-Member 39
31 Objecteigenschappen wijzigen 40
32 Verkregen output wijzigen 41
Groeperen en sorteren 42
Output extern verwijzen 43
33 Een transcript krijgen van de instructieverwerking 44
34 Te veel op het venster: more versus paging 44
35 Aliassen in PowerShell 44
36 PowerShell-profiel maken 45
37 Snap-ins in PowerShell 45
38 Providers in PowerShell 46
39 Registerinstructie klaarmaken: transaction 48
40 Navigeren in PowerShell 48
41 Modules in PowerShell: basis 49
Locaties van modules in PowerShell 51
Oefeningen 52
42 Op afstand met PowerShell 52
VirtualBox 52
VMware 53
Beide machines zitten in hetzelfde netwerk 54
43 PSSessions: remote via PowerShell 58
44 Navigeren via remote sessie op één remote pc 59
Listeners en nodige configuraties 61
45 Invoke-Command – instructies op afstand uitvoeren 61
46 Double hop 62
CredSSP inschakelen 62
47 Achtergrondtaken lokaal uitvoeren 63
48 Achtergrondtaken remote uitvoeren 64
49 Achtergrondtaken inplannen 64
Oefeningen 65
50 Datatypen 65
51 Variabelen en constanten 66
52 Arrays 67
Eendimensionale array 67
Multidimensionale arrays 69
53 Hashtables 69
54 List 71
55 Dictionary 72
56 Queues & stack 73
57 Splatting 73
58 Wiskunde en de operatoren 74
59 Vergelijkingsoperatoren 75
60 Logische operatoren 75
61 .NET-operatoren 76
62 Regex: regular expressions 76
63 If-statement 80
64 Switch-statement 82
65 Iteratie: for-statement 85
66 Iteratie: foreach-statement 86
67 Iteratie: while-statement 87
68 Iteratie: do until-statement 88
69 Iteratie: do while-statement 88
70 Casting en werken met resultaten 89
71 Methodes, functies en cmdlets 90
72 Zelfgedefinieerde functies in het kort 91
73 Het bereik van een variabele 92
74 Werken met argumenten 94
75 Stack en heap 94
Reference- en value-datatypen 95
Reference- en value-vergelijkingen 95
Oefeningen 96
76 Inzicht in het helpsysteem 96
77 Metadata van een cmdlet bekijken 98
78 Pipelinebinding (byValue of byPropertyName) 98
79 CSV-bestanden 102
80 XML-bestanden 104
81 HTML-bestanden 105
82 JSON-bestanden 106
83 Where-Object 106
Filterscript 107
84 Select-Object 107
85 Sort-Object 108
86 Group-Object 108
87 Measure-Object 109
88 ForEach-Object 109
89 Compare-Object 110
90 Tee-Object 110
91 Bestandscatalogus en werken met hashes 110
Hashes 111
Oefeningen 112
92 PowerShell-modules en -scripts online 112
93 Werken met modulemanifests 117
94 .NET 118
95 Nieuwe objecten maken 119
96 Statische mogelijkheden 120
97 Accelerators 122
98 Using 122
99 Assembly‘s en using 122
100 PowerShell automatisch starten als administrator – II 123
101 .NET-klasse convert 124
102 Stringbewerkingen 124
103 Geavaneerde getalbewerkingen 127
104 Datumbewerkingen 128
Oefeningen 130
105 Standaard PowerShell-variabelen 131
106 (D)COM 131
107 WMI 132
108 CIM-variabelen 134
109 Eigenschappen van bestanden en mappen 135
110 Rechten van bestanden en mappen 136
111 Rechten wijzigen 138
112 Eigenaarschap overnemen 141
113 Module NTFS 141
114 Eigenschappen zijn ook objecten 142
115 Voorbeeld met timer 143
116 Veilig wachtwoordbeheer 144
Oefeningen 146
117 Domein starten (voor wie dit grafisch met onderstaande hulp kan) 147
118 PowerShell Web Access 147
119 Centrale informatiemap maken 148
Oefeningen 150
Bronnen 150
Links 150
Boeken 150
Schoonmaak 150
Deel 2: Visual Studio Code en PowerShell 151
120 Visual Studio Code en PowerShell 152
Installatie PowerShell 152
Installatie Visual Studio Code 152
PowerShell activeren in Visual Studio Code 153
Command Palette 154
Werkomgeving van PowerShell in Visual Studio Code 155
Nog meer naar een ideale PowerShell-omgeving 156
Bronnen 159
Deel 3: PowerShell gebruiken in Linux 161
121 PowerShell gebruiken in Linux 162
Installatie van PowerShell in Debian 162
Theoretisch wegwijs in GitHub 163
Installatie van PowerShell op een Red Hat-distributie 165
Werken met PowerShell in Linux in het kort 167
Visual Studio Code installeren op Linux 170
Verbinding op afstand opzetten tussen Linux en Windows 171
Bronnen 174
Schoonmaak 174
Deel 4: CLI-netwerkomgeving in de cloud en on-premises 175
Introductie 176
122 Windows Server Core versus GUI 176
123 Installatie Windows Server Core 177
124 Installatie Hyper-V Server 2019 178
125 Installatie GUI-netwerk Windows Server en Windows Client 179
Installatie domeincontroller 179
Client toevoegen aan het domein via PowerShell 182
Een tweede domeincontroller in het netwerk 186
126 WSCore snel configureren 189
Op WSCore werken als domeinadministrator 189
127 DHCP instellen op DC 189
Ga na of de DHCP-rol goed werkt 190
DHCP-redundantie 190
Ga na of DHCP-failover werkt 191
128 DNS instellen op DC 191
129 Replicatie forceren 193
130 Active Directory via PowerShell 193
OU-aanmaak 193
Groep maken 194
Gebruikers toevoegen 194
Organisatiegericht nadenken 195
Testen en terug naar de originele omgeving 197
Active Directory opbouwen via .csv-bestanden 198
131 PowerShell grafisch of via de CLI benaderen 199
132 Einde automatisering in Windows Server 201
133 Microsoft 365 met het netwerk verbinden 201
Microsoft 365-tenant opzetten 202
Stappenplan (best uitvoeren in incognito-browser) 202
Verbinding tussen Windows Server en de tenant 203
134 Azure vanuit PowerShell benaderen 205
Introductie in Microsoft Graph 206
Aan de slag met HTTP-webrequests via Microsoft Graph 206
Gebruikersacties met HTTP-webrequests via Microsoft Graph 207
Aan de slag met HTTP-webrequests via Microsoft Graph Entra-applicaties 211
Gebruikersacties met een Entra-applicatie via Microsoft Graph 212
Aan de slag met de module Microsoft.Graph 213
Intune 231
135 Docker 232
136 Chocolatey of Winget 235
137 Andere scripttalen 236
Belangrijk om weten 237
138 Scripttalen combineren 237
139 Extra’s installeren voor instructieverwerking 238
Bronnen 238
Links 238
Boeken 238
Schoonmaak 238
Deel 5: PowerShell-bouwstenen 239
140 Scripts en modules 240
141 Scripts 240
142 Functies leiden vaak tot een start 240
143 Van script naar module 241
144 Voorbeeld van een module 241
145 Voorbeeld van een volledige module 242
146 Scripts, modules en functies opbouwen 244
Requires-statement 244
Using-statement 244
Commentaar 244
147 Hetzelfde doen in Visual Studio Code 247
148 (Geavanceerde) functies 247
Beter begrijpen van begin-, proces- en eindblok 250
Return 251
Optionele optie: CmdletBinding 251
Optionele optie: Alias 252
Optionele optie: OutputType 252
Optionele optie: Parameters 252
149 Modulemanifest 252
150 Module met meer dan één functie opslaan 253
151 Fouten opvangen 254
152 Validatie 256
153 Try, catch en finally 256
154 Werken met validatieattributen 257
155 Mocking 258
Opdracht 258
156 Debuggen 259
Breakpoints op een regel plaatsen 259
Breakpoint plaatsen via de CLI 265
Extra mogelijkheden in Visual Studio Code 267
Bronnen 269
Links 269
Boeken 269
Deel 6: Extra’s via PowerShell 271
157 PowerShell Desired State Configuration (DSC) 272
Introductie tot de pushmethode 273
158 API en webrequests 275
Omgaan met bepaalde webstatussen 275
Webrequest gebruiken om bestanden binnen te halen 276
Webrequestmethoden 279
Webrequest via REST 280
Webrequest via SOAP 282
Authenticatie 282
159 E-mail versturen vanuit PowerShell 283
160 Packages 285
Packages vs. Modules 285
Find-PackageProvider 285
Install-PackageProvider 285
Werken met PackageSource 286
Package installeren 287
Packages weergeven 287
Aan de slag met MailKit 287
Bronnen 289
161 E-mail versturen met Microsoft Graph 289
162 Pester 291
Test met fouten 292
Describe en Context 292
Houd de test gescheiden 293
Om mee te geven 293
Bronnen 293
163 Theoretisch: workflow 294
Een voorbeeld 295
Parallelle uitvoeringen 295
Conclusie 296
Bronnen 296
164 Zeer kort theoretisch: Microsoft Azure Automation 296
Bronnen 296
165 Azure Cloud Shell 297
Bronnen 297
166 Windows Terminal en subsystem Linux 297
Terminal versus console versus shell 297
Windows Terminal 298
Subsystem Linux 300
Linux-shell gebruiken in Windows Terminal 302
Bronnen 302
167 Sudo 302
168 PSScriptAnalyzer 303
Get-ScriptAnalyzerRule 304
Invoke-Formatter 305
Invoke-ScriptAnalyzer 305
169 Unified Write Filter (UWF) 306
Installatie UWF 307
170 Werken met items: snelle uitleg 309
Bronnen 309
171 &-operator 309
172 $lastexitcode 310
173 Tips om goede formats weer te geven 310
174 Wachten totdat … 311
175 Een PowerShell-script aan een GPO koppelen 311
176 PowerShell-scripts via Intune (Mobile Device Management) 312
177 PowerShell-script koppelen aan Taakplanner 312
178 Self-signed script met eigen certificaat maken 315
Testen op een client 318
Bronnen 319
Rubrieken
- advisering
- algemeen management
- coaching en trainen
- communicatie en media
- economie
- financieel management
- inkoop en logistiek
- internet en social media
- it-management / ict
- juridisch
- leiderschap
- marketing
- mens en maatschappij
- non-profit
- ondernemen
- organisatiekunde
- personal finance
- personeelsmanagement
- persoonlijke effectiviteit
- projectmanagement
- psychologie
- reclame en verkoop
- strategisch management
- verandermanagement
- werk en loopbaan