K5503 PowerShell Grundkursus

PowerShell kan benyttes til at tilgå og manipulere alle typer servere og devices – herunder operativsystem, diske, netværk, websider, printere og meget mere…

Målgruppe

PowerShell kurset henvender sig til it-folk i bred forstand. Kurset retter sig således både mod administratorer, udviklere og netværksfolk. Er du helt ny i PowerShell, er kurset perfekt til dig.

Har du længe brugt Powershell, men har copy/pastet fra internettet, er kurset også for dig. Selv om du har lavet en del PowerShell, kommer du ikke til at kede dig – for PowerShell har så mange facetter.

Forudsætninger for kursus

Du skal have almindelig it-kendskab – enten som udvikler, supporter eller administrator. Du behøver ikke nødvendigvis være Windows Server ekspert eller tilsvarende. PowerShell kan ramme ind i mange ting – og vi har f.eks. kørt PowerShell kurser for SAP-konsulenter.

Har du erfaring med objektorienteret programmering, er det kun en fordel.

Kurset tager udgangspunkt i nyeste version. På lukkede firmakurser kan virksomhedens it-infrastruktur og deltagernes fremtidige PowerShell projekter inddrages i kurset.

Efter kurset kan du

Kurset giver dig et både bredt og dybt kendskab til PowerShell. Du får overblik over alle de retninger, hvor PowerShell kan benyttes inklusive detaljeret viden om syntaks. Vi garanterer mængder af aha-oplevelser og en masse skæve tricks, som man ikke skulle tro var mulige.

Indhold af PowerShell Grund kurset

1 | I luften med PowerShell

  • Introduktion til PowerShell
  • Forskellige programmer, editorer, versioner af PowerShell, systemkrav

2 | Grundlæggende Tips og Tricks

  • Elementære genvejstaster (F5 + F8)
  • Skrivning af kommentarer
  • Read-host, Write-host
  • Linjeskift i kode
  • I starten bruges der ikke meget tid på editoren. I dette skal vi blot i gang, så der kan skrives kode.

3 | Overblik over CMDlets med Get-Command og Get-Help

  • Get-Help, Get-Command, Get-Member
  • Find relevante CMDLets og lær at bruge dem
  • Brug af CMDlets – hvad er en CMDlet?
  • Hvordan er CMDlets bygget op? Hvordan finder man dem?
  • Navnesystem -noun -verb

4 | Filtre

  • Brug af filtre og flag

5 | Aliases Profiler og ExecutionPolicy

  • Aliases – fordele/ulemper – indbyggede aliases
  • Import/eksport af aliases
  • Sikkerhed – rettigheder til at køre et script
  • Policies
  • Brug af profiler ($profile) til bl.a. indlæsning af aliases

6 | Options, Members – Get-Member

  • Listning og brug af Members (properties og methods) på den enkelte CMDLets
  • Forskellen på navngivne og indekserede members
  • Forskellen på switches og string/int members
  • Brug af -whatif -confirm -verbose
  • Brug af $*preference variable

7 | Formatering af Uddata

  • Formatering af uddata med format-table, format-list, format-outgrid, format-wide
  • Opbygning af egne tabeller
  • Eksport og konvertering af data til html, json, csv, xml, excel m.m.
  • Eksport til tekstfil, variable, udklipsholder – udskrivning på printer m.m.

8 | Sortering, gruppering, filtrering, måling

  • Brug af *-object CMDlets og $_ variablen.
  • Select-Object, Group-Object, Sort-Object, Where-Object, Measure-Object, Foreach-Object, Tee-object
  • Best Practice – herunder rækkefølge på filtrering

9 | Providers

  • Brug af Get-PSProvider og Get-PSDrive
  • Tilgå miljøvariable (environment variable)
  • Tilgå registreringsdatabasen

10 | Variable og Objekter

  • Indbyggede objekter i PowerShell – herunder objekter i objekter
  • Opbygning af eget objekt
  • Datatyper
  • Definering af variable (implicit vs. eksplicit)
  • Sammensætning af variable (klassisk + interpolation)
  • Hvorfor bruge Set-Variable
  • Problematikken omkring sletning af variable
  • Definition af mange, samtidige variable
  • Konstanter, args, Compare-Object, indbyggede variable
  • Pipeline-variable
  • Variable Swapping
  • Variable Scope
  • Interpolation og Sub Expressions
  • Avanceret interpolation med -f
  • GetType()-metoden
  • Konvertering af datatyper
  • Prevalidering af variable

11 | Strings, Math, Arrays, Datoer

  • String-funktioner – fokus på substring, indexOf, split
  • [Math]-funktioner
  • Arrays – opbygning af arrays, brug af arrays (vigtigt – bruges intensivt i PowerShell)
  • Arrays – slette, oprette, merge, forespørge m.m. Arrays på 100 måder
  • Datoer og Tid
  • Hash Tables

12 | Loops og Betingelser, Operatorer

  • If – Else
  • (Switch)
  • Do While, Do Until
  • While
  • For, ForEach
  • -like, -match, -contains, -eq, -ne, gt-, -ge, -lt, -le, -notmatch, -notlike, -is, -isnot
  • Regular Expressions -match (evt. forskel på -Path og -LiteralPath). Ekstramateriale om Regular Expressions udleveres til selvstudie. Men Regular Expressions gennemgås blot med få simple eksempler.

13 | Tekstfiler, eksterne filer

  • Finde filer, kopiere filer, slette filer, rename filer
  • Liste skjulte filer
  • Properties på filer (størrelse, sti, filnavn, type m.m.)
  • Oprette tekstfil
  • Tilføje data (append og replace)
  • Indlæse data

14 | XML, Web Services, REST API

  • Indlæse data fra en XML-fil (både på internettet og lokalt)
  • Bruge en XML Web Service (soap) vha. wsdl (oprette wdsl-klient)
  • Brug af REST API til indlæsning af data

15 | Funktioner (simple og avancerede)

  • Opbygning af simpel funktion med ind- og uddata
  • Funktion med flere samtidige uddata med forskellige datatyper
  • Variabel Scope i funktioner
  • Avancerede Funktioner (CMDlets wannabe)
  • Param-blokke, begin-, end- og process blokke
  • Styring af inddata – herunder definering af switches og strings/andre datatyper
  • Mandatory og Optional parametre
  • Hjælpe funktioner
  • Automatisk kald af funktionsbiblioteker fra $Profile
  • Evt. Hello World CMDLet i Visual Studio => dll-fil

16 | Moduler

  • Kald af funktion i en anden ps1/psm1 fil
  • Import-Module til både ps1- og psm1 filer
  • Import-Module til indlæsning af mappe med psm1-fil
  • Brug af $env:PSModulePath – herunder manipulering og dynamisk indsættelse af egne stier
  • Flytning af (psm1-fil) til modul-sti (både manuelt og med copy-item
  • Opbygning af Manifest med New-ModuleManifest
  • Indhold af Manifest – herunder ExportFunktioner
  • Brug af get-module med og uden -listavailable
  • Install-module og Import-module – hvad er forskellen? Hvornår skal der angives sti?
  • Installation af PowerShellGet fra PowerShell Gallery. Herunder brug af Find-Module

17 | Error Handling (eventlogs)

  • $ConfirmPreferences, $ErrorActionPreferences
  • ErrorActions: Stop, Continue, SilentlyContinue
  • Brug af $? til fejltjek på forrige statement
  • Trap-blok
  • errorVariable -> Send fejl til selvvalgt variabel
  • Brug af Throw -> ændring af ‘rød’ fejltekst
  • $Error
  • Debugging: Set-PSDebug, slå debugging til/fra, -step, -trace, strict-mode
  • Try/Catch
  • Event Logs (liste, læse, søge, oprette egne event logs)

18 | WMI

  • Get-WmiObject
  • Casting med [wmi] for ændring af data
  • Tilgå remote computers
  • CIM
  • Kørsel af WMIexplorer

19 | Excel, SharePoint, Skype for Business

  • Tilgå Excel (f.eks. skrive i celle, køre en makro)
  • Tilgå SharePoint (f.eks. opret liste fra template, forespørge på data m.v.)
  • Tilgå Skype For Business (f.eks. liste brugere)

20 | .Net klasser – UI brugerflade

  • Tilgå namespaces og klasser i .net – generel intro – statiske metoder
  • Eksempler på opbygning af dialogbokse med dropdown-felter, import af data m.v.
  • Eksempler på kald af ‘Windows-bokse’, som Open File
  • Oprettelse af genvej på skrivebord m.v.

21 | Remote Computers

  • Intro til WinRM (Windows Remote Management)
  • Invoke-command og scriptblokke
  • Brug af -ComputerName
  • New-PSSession vs. Enter-PSSession – herunder -session flaget
  • Håndtering af credentials med Get-Credential og -credential
  • Windows PowerShell Web Access
  • 22 | Diverse Emner
  • TimerJobs
  • Performance målinger (manuelt og med Measure-Command
  • Dynamisk generering af kode med Invoke-Expression
  • Forkortelser og Snydekoder i PowerShell
  • Geo- og Culture styring
  • Invoke-WebRequest. Scan et website for alle undersider, blinde links, title-tags og meta descriptions
  • Best Practice.
  • Plus alle de ting, der ikke er listet. Deltagere er velkomne til at komme med input – og kurset tager ofte en drejning skabt af kursusdeltagerne.

Om PowerShell kurset

Kurset tager udgangspunkt i enten ISE-editoren eller Visual Studio Code. Kurset vil indeholde den nødvendige opsætning af disse programmer – herunder brug af debugging.

På kurset udleveres dansk kursusmateriale som søgbar pdf-fil og et omfattende bibliotek af eksempelfiler. Efter kursus får du kursusbevis, gratis hotline og adgang til en række online ressourcer.

Praktisk Information

Hvordan bestilles et kursus?

Udfyld formularen nedenfor eller til højre. Alternativt kan du blot skrive en mail på info@zoomtek.dk eller ringe 4250 5040.

Hvordan finder jeg prisen på kurset?

Forespørg på kurset ved at kontakte ZoomTek. Så finder vi det bedste kursus til dig. Du betaler ikke for formidlingen.

Hvornår afholdes kurset?

ZoomTek kan oftest skaffe et kursus inden for 30 dage. Enten vil vi finde et åbent kursus til dig. Alternativt får du et lukket firmakursus, hvor du og dine kolleger aftaler datoen direkte med kursusinstruktøren.

Få et skræddersyet kursus uden merpris

Kursusbeskrivelserne på ZoomTek.dk er vejledende. For et lukket firmakursus vil kurser altid blive skræddersyet gennem dialog med instruktøren. For åbne kurser har du mulighed for at tale med instruktøren før kurset.