Powershell-opplæring for nybegynnere

⚡ Smart oppsummering

PowerShell Scripting er en objektorientert automatiseringsmotor bygget på .NET-rammeverket. Den kombinerer cmdleter, skript og et skriptspråk for å hjelpe IT-administratorer med å automatisere Windows, administrere tjenester og koble til eksterne maskiner fra én kommandolinje.

  • 🚀 Start det riktige skallet: Åpne PowerShell eller PowerShell ISE fra Start-menyen, og kjør det som administrator når du trenger utvidede rettigheter.
  • 🧩 Bruk cmdlets, ikke tekstkommandoer: Cmdleter følger et verb-substantiv-navnemønster og returnerer .NET-objekter, slik at utdata kan flyte inn i neste cmdlet gjennom en pipeline.
  • 🔐 Sett nøye opp utførelsespolicyen: Bruk Set-ExecutionPolicy med RemoteSigned for å balansere sikkerhet og bekvemmelighet når du kjører .ps1-skript.
  • 📁 Skriv gjenbrukbare .ps1-skript: Kombiner cmdleter, variabler og pipelines i en tekstfil med .ps1-utvidelsen for å automatisere repeterende administratoroppgaver.
  • 🤖 Koble PowerShell med AI: AI-assistenter gjør forespørsler på vanlig engelsk om til kjøreklare PowerShell-skript og forklarer ukjente cmdleter linje for linje.

Powershell-opplæring for nybegynnere

Hva er PowerShell?

Windows PowerShell er en objektorientert automatiseringsmotor og skriptspråk. Den er utviklet for IT-fagfolk og systemadministratorer som trenger å kontrollere og automatisere administrasjonen av Windows og andre applikasjoner. PowerShell utvider konseptene som er lært i Windows Ledetekst og Windows Skriptvert med nye objekter, cmdleter og en kraftig pipeline.

Den kombinerer fleksibiliteten til skripting, hastigheten til en kommandolinje og dybden til et GUI-administrasjonsverktøy. Med den kan administratorer løse problemer effektivt og eliminere timer med manuelt arbeid. Denne veiledningen går gjennom det viktigste du trenger for å lære PowerShell fra bunnen av.

Hvorfor bruke PowerShell?

De viktigste grunnene til å bruke PowerShell er:

  • Tilbyr en godt integrert kommandolinjeopplevelse for operativsystemet.
  • Gir full tilgang til alle typer i .NET-rammeverket.
  • Klarert av systemadministratorer på tvers av bedrifter.
  • Lar deg manipulere server- og arbeidsstasjonskomponenter med noen få linjer.
  • Rettet mot systemadministratorer med en ren verb-substantiv-syntaks.
  • Tryggere enn å løpe VBScript eller andre eldre skriptspråk.

PowerShell-historie

PowerShell 1.0 ble først utgitt i 2006. PowerShell er nå i versjon 7.2 og nyere. Etter hvert som utgivelsene ble sendt, vokste funksjonene og hostingmiljøene betydelig.

Versjonshistorikk for PowerShell:

  • PowerShell 1.0 — støttet lokal administrasjon av Windows 2003-server.
  • PowerShell 2.0 — integrert med Windows 7 og Windows Server 2008 R2. La til fjernstyring, transaksjoner, bakgrunnsjobber, hendelser og feilsøking.
  • PowerShell 3.0 — sendes med Windows 8 og Windows Server 2012 som en del av Windows Administrasjonsrammeverk. La til planlagte jobber, økttilkobling og automatisk modulinnlasting.
  • PowerShell 4.0 — sendes med Windows 8.1 og Windows Server 2012 R2. La til ønsket tilstandskonfigurasjon, forbedret feilsøking og nettverksdiagnostikk.
  • PowerShell 5.0 — en del av Windows Management Framework 5. La til ekstern feilsøking, klassedefinisjoner og .NET-opplistinger.
  • PowerShell 7.2 — bygget på .NET 6.0. Legger til nye operatorer, dynamiske feilvisninger og automatiske versjonsvarsler.

Funksjoner i PowerShell

  • PowerShell-fjernstyring: kalle skript og cmdleter på en ekstern maskin.
  • Bakgrunnsjobber: kjøre skript eller pipelines asynkront på den lokale maskinen eller mange eksterne maskiner.
  • transaksjoner: la cmdleter og utviklere utføre grupperte operasjoner som kan iverksettes eller rulles tilbake sammen.
  • Arrangement: lytte etter, videresende og handle på ledelses- og systemhendelser.
  • Filoverføring via nettverk: innebygd støtte for prioritert, asynkron, begrenset filoverføring mellom maskiner gjennom Background Intelligent Transfer Service (BITS).

Slik starter du PowerShell

PowerShell er forhåndsinstallert på alle nyere versjoner av WindowsStart den slik.

Trinn 1) Søk etter PowerShell i Windows, og velg deretter og klikk på den.

Start PowerShell

Trinn 2) PowerShell-vinduet åpnes.

PowerShell -vindu

Cmdlet vs Command

A cmdlet (uttales «command-let») er en lett kommando som brukes i PowerShell-miljøet. PowerShell starter cmdlets ved ledeteksten, og du kan opprette dine egne ved hjelp av PowerShell API-ene. Cmdlets skiller seg fra tradisjonelle skallkommandoer på følgende måter:

  • Cmdlets er . NET Framework klasseobjekter; de kan ikke kjøres som frittstående kjørbare filer.
  • Cmdlets kan skrives på så få som et dusin linjer med kode.
  • Parsing, formatering av utdata og presentasjon av feil håndteres av kjøretiden, ikke av selve cmdleten.
  • Cmdleter fungerer med objekter, slik at både tekststrømmer og objekter kan flyte gjennom pipelines.
  • Cmdleter er postbaserte og behandler ett enkelt objekt om gangen.

Mesteparten av PowerShell-funksjonaliteten leveres via cmdleter, som alltid bruker et verb-substantiv navngivningsmønster (alltid entall). Cmdleter returnerer objekter, ikke tekst. script — forskjellig fra en cmdlet — er en serie kommandoer lagret i en tekstfil med .ps1 Utvidelse.

Vanlige verb du vil bruke for å lære PowerShell inkluderer:

  • Ta – hente noe.
  • Start – drive noe.
  • Out — sende ut noe.
  • Stopp – stoppe noe som er i gang.
  • Sett – definere noe.
  • Ny – skape noe.

Viktige PowerShell-kommandoer

Få hjelp: se hjelp for PowerShell-kommandoer og -emner.

Eksempel: vis hjelp for Format-Table kommando.

Get-Help Format-Table

Få hjelp-cmdlet

Hent-kommando: få informasjon om alt som kan påberopes.

Eksempel: generer en liste over cmdleter og funksjoner som er installert på maskinen.

Get-Command

Get-Command-cmdlet

Få-tjeneste: finner alle tjenester på maskinen.

Eksempel: hent alle tjenester med navn som begynner med «vm».

Get-Service "vm*"

Get-Service cmdlet

Hent medlem: vise hva som kan gjøres med et objekt.

Eksempel: liste opp medlemmer av VM-tjenestene som returneres av Get-Service.

Get-Service "vm*" | Get-Member

Get-Member-cmdlet

Andre nyttige cmdleter:

  • Get-Module — vis installerte pakker med kommandoer.
  • Get-Content — lese en fil og behandle innholdet.
  • Get-* jokertegn – oppgi alle cmdlet-er som starter med «Get-».

Eksempel: opprett en mappe.

New-Item -Path 'X:\Guru99' -ItemType Directory

Utgang:

Utdata for nytt element

PowerShell-datatyper

PowerShell støtter standard .NET-datatyper, slik at du kan lagre en hvilken som helst verdi rent i en variabel.

PowerShell-datatyper

Spesielle variabler

PowerShell eksponerer en rekke innebygde spesialvariabler. De mest nyttige er listet opp nedenfor.

Spesiell variabel Tekniske beskrivelser
$Error En matrise med feilobjekter som representerer de nyeste feilene.
$Vert Viser navnet på gjeldende vertsapplikasjon.
$Profile Lagrer hele banen til brukerprofilen for standardskallet.
$PID Lagrer prosessidentifikatoren.
$PSUICulture Inneholder navnet på den nåværende brukergrensesnittkulturen.
$NULL Inneholder den tomme verdien eller nullverdien.
$False Inneholder den boolske verdien FALSE.
$True Inneholder den boolske verdien TRUE.

PowerShell-skript

PowerShell-skript lagres i .ps1 filer. Som standard kan du ikke kjøre et skript ved å dobbeltklikke på det – denne sikkerhetstiltakene beskytter systemet mot utilsiktet skade. For å kjøre et skript, høyreklikk på det og velg "Kjør med PowerShell".

Kjør med PowerShell

En utførelsespolicy styrer hvilke skript som får kjøre. Vis gjeldende policy med Get-ExecutionPolicyMulige verdier inkluderer:

  • begrenset — ingen skript er tillatt. Dette er standardinnstillingen.
  • Allsignert – bare skript signert av en pålitelig utvikler kjøres, og hvert skript krever bekreftelse.
  • Fjernsignert — dine egne skript kjøres, pluss signerte skript fra pålitelige kilder.
  • Ubegrenset — alle skript kan kjøres (bruk sparsomt).

Fremgangsmåte for å endre utførelsespolicy:

Trinn 1) Åpne en forhøyet PowerShell-ledetekst ved å høyreklikke på PowerShell og velge Kjør som Administrator.

Kjør PowerShell som administrator

Trinn 2) Kjør kommandoene nedenfor.

  1. Get-ExecutionPolicy
  2. Set-ExecutionPolicy Unrestricted
  3. Enter Y ved bekreftelsesspørsmålet.
  4. Get-ExecutionPolicy

Endre utførelsespolicy

Første PowerShell-skript

Åpne Notisblokk og skriv:

Write-Host "Hello, Guru99!"

Lagre filen med en .ps1 utvidelse – for eksempel FirstScript.ps1.

Lagre FirstScript.ps1

I PowerShell, kjør skriptet med:

& "X:\FirstScript.ps1"

Kjør FirstScript.ps1

Hva er PowerShell ISE?

Ocuco Windows PowerShell Integrated Scripting Environment (ISE) er standardredigeringsprogrammet for PowerShell. I ISE kan du kjøre kommandoer, skrive tester og feilsøke skript i et grafisk, vindusbasert miljø. Det støtter redigering av flere linjer, syntaksfarging, tabulatorfullføring, selektiv utførelse og mer.

PowerShell ISE tilbyr også en konsollrute som kjører kommandoer direkte, mens sideruter viser kilden til skriptene dine og eventuelle verktøy som er koblet til ISE. Du kan åpne flere skriptvinduer samtidig – nyttig når du feilsøker skript som er avhengige av funksjoner definert i andre skript eller moduler.

PowerShell ISE

Gjenskap det tidligere skriptet i ISE:

  1. Lim inn koden i editoren.
  2. Lagre skriptet.
  3. Trykk F5 for å kjøre den.
  4. Observer utdataene i konsollruten.

Kjør skript i ISE

Eksempel 2: følgende skript viser gratis virtuelt minne på maskinen.

Get-WmiObject -Class Win32_OperatingSystem -ComputerName localhost |
Select-Object -Property CSName, FreeVirtualMemory

Gratis virtuelt minneskript

PowerShell Concepts

Følgende konsepter danner vokabularet for det daglige PowerShell-arbeidet.

Concept Tekniske beskrivelser
Cmdlets Innebygde kommandoer skrevet i .NET-språk som VB eller C#. Utviklere utvider settet ved å laste inn eller skrive PowerShell-snap-ins.
Funksjoner Kommandoer skrevet i selve PowerShell-språket, uten behov for en IDE som for eksempel Visual Studio.
scripts Tekstfiler på disk med .ps1 Utvidelse.
Applikasjoner Eksisterende Windows programmer som kalles fra skallet.
Hva om Forteller cmdlet-en at den ikke skal kjøres, men at den skal beskrive hva som ville skje hvis den gjorde det.
Bekrefte Instruerer cmdleten til å spørre før kjøring.
utførlig Gir et høyere nivå av operative detaljer.
Debug Instruerer cmdlet-en til å sende ut feilsøkingsinformasjon.
Feilhandling Definerer hva cmdlet-en gjør ved feil. Tillatte verdier: continue, stop, silentlycontinue, inquire.
ErrorVariable Navngir variabelen som inneholder feilinformasjon.
Utvariabel Ber cmdleten om å lagre utdataene i en bestemt variabel.
OutBuffer Holder et bestemt antall objekter før de sendes nedover pipelinen.

Fordeler med å bruke PowerShell-skript

  • PowerShell-skript er kraftige og konsise – du kan oppnå mye på bare noen få linjer.
  • Variabler deklareres med $<variable> syntaks.
  • Variabler kan inneholde kommandoutdata, objekter og primitive verdier.
  • Variabeltypen trenger ikke å spesifiseres eksplisitt.

PowerShell vs. ledetekst

PowerShell Ledetekst
Dypt integrert med WindowsTilbyr en interaktiv kommandolinje og et komplett skriptspråk. Standard kommandolinjegrensesnitt levert av MicrosoftEt enkelt Win32-program som kommuniserer med andre Win32-objekter.
Bruker cmdleter som kan kalles interaktivt eller gjennom automatiseringsskript. Ingen cmdleter.
Behandler utdata som objekter slik at de kan flyte inn i en annen cmdlet gjennom pipelinen. Utdataene er en ren tekststrøm, ikke objekter.
Avansert innen funksjoner, muligheter og intern arkitektur. Grunnleggende skall, egnet for eldre batchoppgaver.

Bruksområder for PowerShell

PowerShell har blitt standardvalget for IT-administratorer fordi det reduserer innsatsen dramatisk på tvers av store bedriftsnettverk. Tenk deg å administrere mer enn fire hundre servere og rulle ut en ny sikkerhetsløsning som er avhengig av en spesifikk tjeneste som kjører på hver vert.

Manuell pålogging til hver server er treg og utsatt for feil. Ett enkelt PowerShell-skript kan undersøke hver server på få minutter, rapportere hvilke verter som allerede kjører tjenesten, og til og med aktivere den på resten. Skriptet fanger opp intensjonen én gang og bruker den pålitelig på tvers av hele systemet.

Spørsmål og svar

PowerShell automatiserer Windows systemadministrasjon – administrasjon av tjenester, filer, brukere og servere – gjennom en objektorientert kommandolinje og skriptspråk bygget på .NET-rammeverket.

En cmdlet er et lett .NET-klasseobjekt som bruker et verb-substantiv-navn og returnerer objekter. En tradisjonell kommando i andre skall sender ut ren tekst og håndterer sin egen parsing og formatering.

PowerShell fungerer med objekter og støtter cmdleter, skripting og dyp .NET-integrasjon. Kommandoprompt er et grunnleggende tekstbasert skall der kommandoene sender ut ren tekst i stedet for objekter.

En .ps1-fil er et PowerShell-skript – en tekstfil som inneholder én eller flere PowerShell-kommandoer. Som standard kan den ikke kjøres ved å dobbeltklikke; den kjøres fra konsollen eller med Kjør med PowerShell.

Åpne PowerShell som administrator og kjør Set-ExecutionPolicy med en verdi som RemoteSigned eller Unrestricted, og bekreft deretter. Bruk Get-ExecutionPolicy for å sjekke gjeldende innstilling.

Integrated Scripting Environment (ISE) er PowerShells innebygde GUI-editor for skriving, kjøring, testing og feilsøking av skript, med syntaksfarging, tabulatorfullføring og flere skriptfaner.

AI-assistenter foreslår cmdleter, forklarer skriptoppførsel og oppdager feil mens du skriver. De hjelper administratorer med å automatisere oppgaver raskere og konvertere forespørsler på vanlig engelsk til fungerende PowerShell-kommandoer.

Ja. AI-kodeassistenter genererer komplette PowerShell-skript fra en beskrivelse på enkelt engelsk, for eksempel «liste opp alle stoppede tjenester og start dem på nytt», og forklarer hver cmdlet slik at du kan se gjennom dem før du kjører dem.

Oppsummer dette innlegget med: