PowerShell kan benyttes til at tilgå og manipulere alle Microsoft produkter - herunder operativsystem, servere og netværk.

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 duOmfattende dansk kursusbog i PowerShell udleveres som PDF. Desuden får du et helt bibliotek af kodeeksempler og hello world filer.

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.

Kursusindhold

I luften med PowerShell

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

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 modul skal vi blot i gang, så der kan skrives kode.

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 

Filtre

  • Brug af filtre og flag 

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

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

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.

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å filrering

Providers

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

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 

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

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.

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 

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 

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 

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 modul (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

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)

WMI

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

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 etc.)
  • Tilgå Skype For Business (f.eks. liste brugere)

.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 etc.
  • Eksempler på kald af 'Windows-bokse', som Open File
  • Oprettelse af genvej på skrivebord etc.

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

Pester Intro, DSC Intro

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.

Mest læste sider