Powershell-handledning för nybörjare

⚡ Smart sammanfattning

PowerShell Scripting är en objektorienterad automatiseringsmotor byggd på .NET Framework. Den kombinerar cmdlets, skript och ett skriptspråk för att hjälpa IT-administratörer att automatisera Windows, hantera tjänster och ansluta fjärrmaskiner från en enda kommandorad.

  • 🚀 Starta det högra skalet: Öppna PowerShell eller PowerShell ISE från Start-menyn och kör det som administratör när du behöver utökade rättigheter.
  • 🧩 Använd cmdlets, inte textkommandon: Cmdlets följer ett verb-substantiv-namngivningsmönster och returnerar .NET-objekt, så utdata kan flöda till nästa cmdlet via en pipeline.
  • 🔐 Ställ in utförandepolicy noggrant: Använd Set-ExecutionPolicy med RemoteSigned för att balansera säkerhet och bekvämlighet när du kör .ps1-skript.
  • 📁 Skriv återanvändbara .ps1-skript: Kombinera cmdlets, variabler och pipelines i en textfil med .ps1-tillägget för att automatisera repetitiva administratörsuppgifter.
  • 🤖 Koppla PowerShell med AI: AI-assistenter omvandlar förfrågningar på vanlig engelska till körklara PowerShell-skript och förklarar okända cmdlets rad för rad.

Powershell-handledning för nybörjare

Vad är PowerShell?

Windows Power är en objektorienterad automatiseringsmotor och skriptspråk. Den är utformad för IT-proffs och systemadministratörer som behöver kontrollera och automatisera administrationen av Windows och andra applikationer. PowerShell utökar de koncept som lärts ut i Windows Kommandotolken och Windows Skriptvärd med nya objekt, cmdlets och en kraftfull pipeline.

Den kombinerar flexibiliteten hos skript, hastigheten hos en kommandorad och djupet hos ett GUI-administrationsverktyg. Med den kan administratörer lösa problem effektivt och eliminera timmar av manuellt arbete. Den här handledningen går igenom det viktigaste du behöver för att lära dig PowerShell från grunden.

Varför använda PowerShell?

De viktigaste anledningarna att använda PowerShell är:

  • Erbjuder en väl integrerad kommandoradsupplevelse för operativsystemet.
  • Ger fullständig åtkomst till alla typer i .NET-ramverket.
  • Betrott av systemadministratörer över hela företag.
  • Låter dig manipulera server- och arbetsstationskomponenter med några få rader.
  • Riktad mot systemadministratörer med en ren verb-substantiv-syntax.
  • Säkrare än att springa VBScript eller andra äldre skriptspråk.

PowerShell-historik

PowerShell 1.0 släpptes första gången 2006. PowerShell finns nu i version 7.2 och senare. Allt eftersom utgåvor släpptes växte dess funktioner och värdmiljöer avsevärt.

Versionshistorik för PowerShell:

  • PowerShell 1.0 — stödde lokal administration av Windows Server 2003.
  • PowerShell 2.0 — integrerad med Windows 7 och Windows Server 2008 R2. Lade till fjärrstyrning, transaktioner, bakgrundsjobb, händelser och felsökning.
  • PowerShell 3.0 — skickas med Windows 8 och Windows Server 2012 som en del av Windows Management Framework. Lade till schemalagda jobb, sessionsanslutning och automatisk moduledning.
  • PowerShell 4.0 — skickas med Windows 8.1 och Windows Server 2012 R2. Lade till önskad tillståndskonfiguration, förbättrad felsökning och nätverksdiagnostik.
  • PowerShell 5.0 — en del av Windows Management Framework 5. Lade till fjärrfelsökning, klassdefinitioner och .NET-uppräkningar.
  • PowerShell 7.2 — byggt på .NET 6.0. Lägger till nya operatorer, dynamiska felvyer och automatiska versionsmeddelanden.

Funktioner i PowerShell

  • PowerShell-fjärrstyrning: anropa skript och cmdlets på en fjärrdator.
  • Bakgrundsjobb: köra skript eller pipelines asynkront på den lokala maskinen eller många fjärrmaskiner.
  • transaktioner: låta cmdlets och utvecklare utföra grupperade operationer som kan committas eller återställas tillsammans.
  • Evenemang: lyssna efter, vidarebefordra och agera på lednings- och systemhändelser.
  • Nätverksfilöverföring: inbyggt stöd för prioriterad, asynkron, strypt filöverföring mellan maskiner via Background Intelligent Transfer Service (BITS).

Så här startar du PowerShell

PowerShell är förinstallerat på alla nyare versioner av WindowsStarta det enligt följande.

Steg 1) Sök efter PowerShell i Windows, markera och klicka sedan på den.

Starta PowerShell

Steg 2) PowerShell-fönstret öppnas.

PowerShell -fönster

Cmdlet vs Command

A cmdlet (uttalas "command-let") är ett lättviktigt kommando som används i PowerShell-miljön. PowerShell anropar cmdlets vid prompten, och du kan skapa dina egna med hjälp av PowerShell API:erna. Cmdlets skiljer sig från traditionella shell-kommandon på följande sätt:

  • Cmdlets är . Framework NET klassobjekt; de kan inte köras som fristående körbara filer.
  • Cmdlets kan skrivas på så lite som ett dussin rader kod.
  • Parsning, formatering av utdata och felpresentation hanteras av körningsmiljön, inte av själva cmdlet:en.
  • Cmdlets fungerar med objekt, så både textströmmar och objekt kan flöda genom pipelines.
  • Cmdlets är postbaserade och bearbetar ett enda objekt åt gången.

Merparten av PowerShell-funktionaliteten levereras via cmdlets, som alltid använder ett verb-substantiv-namngivningsmönster (alltid singular). Cmdlets returnerar objekt, inte text. skript — till skillnad från en cmdlet — är en serie kommandon som lagras i en textfil med .ps1 förlängning.

Vanliga verb du kommer att använda för att lära dig PowerShell inkluderar:

  • Skaffa sig — hämta något.
  • Start — köra något.
  • Out — mata ut något.
  • Sluta — stoppa något som är igång.
  • uppsättning — definiera något.
  • Nytt — skapa något.

Viktiga PowerShell-kommandon

Få hjälp: Visa hjälp för PowerShell-kommandon och ämnen.

Exempel: visa hjälp för Format-Table kommando.

Get-Help Format-Table

Get-Help-cmdlet

Hämta-kommando: få information om allt som kan åberopas.

Exempel: generera en lista över cmdlets och funktioner som är installerade på maskinen.

Get-Command

Get-Command-cmdlet

Get-Service: hittar alla tjänster på maskinen.

Exempel: hämta alla tjänster vars namn börjar med "vm".

Get-Service "vm*"

Get-Service-cmdlet

Hämta medlem: visa vad man kan göra med ett föremål.

Exempel: lista medlemmar i de virtuella maskinvarutjänster som returneras av Get-Service.

Get-Service "vm*" | Get-Member

Get-Member-cmdlet

Andra användbara cmdlets:

  • Get-Module — visa installerade kommandopaket.
  • Get-Content — läsa en fil och bearbeta dess innehåll.
  • Get-* jokertecken — listar alla cmdlet som börjar med “Get-”.

Exempel: skapa en mapp.

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

Produktion:

Utdata för nytt objekt

PowerShell-datatyper

PowerShell stöder standard .NET-datatyper så att du kan lagra valfritt värde tydligt i en variabel.

PowerShell-datatyper

Specialvariabler

PowerShell exponerar ett antal inbyggda specialvariabler. De mest användbara listas nedan.

Specialvariabel BESKRIVNING
$Error En matris med felobjekt som representerar de senaste felen.
$Värd Visar namnet på den aktuella värdapplikationen.
$Profile Lagrar den fullständiga sökvägen till användarprofilen för standardgränssnittet.
$PID Lagrar processidentifieraren.
$PSUICulture Innehåller namnet på den nuvarande UI-kulturen.
$NULL Innehåller det tomma värdet eller nullvärdet.
$False Innehåller det booleska värdet FALSE.
$True Innehåller det booleska värdet TRUE.

PowerShell-skript

PowerShell-skript lagras i .ps1 filer. Som standard kan du inte köra ett skript genom att dubbelklicka på det – denna säkerhetsåtgärd skyddar systemet från oavsiktlig skada. För att köra ett skript, högerklicka på det och välj "Kör med PowerShell".

Kör med PowerShell

En körningspolicy styr vilka skript som får köras. Visa den aktuella policyn med Get-ExecutionPolicyMöjliga värden inkluderar:

  • begränsad — Inga skript är tillåtna. Detta är standardinställningen.
  • Allsignerad — endast skript signerade av en betrodd utvecklare körs, och varje skript kräver bekräftelse.
  • RemoteSigned — dina egna skript körs, plus signerade skript från betrodda källor.
  • Obegränsad — vilket skript som helst kan köras (använd sparsamt).

Steg för att ändra exekveringspolicy:

Steg 1) Öppna en upphöjd PowerShell-prompt genom att högerklicka på PowerShell och välja Kör som administratör.

Kör PowerShell som administratör

Steg 2) Kör kommandona nedan.

  1. Get-ExecutionPolicy
  2. Set-ExecutionPolicy Unrestricted
  3. ange Y vid bekräftelseprompten.
  4. Get-ExecutionPolicy

Ändra exekveringspolicy

Första PowerShell-skriptet

Öppna Anteckningar och skriv:

Write-Host "Hello, Guru99!"

Spara filen med en .ps1 förlängning — till exempel FirstScript.ps1.

Spara FirstScript.ps1

I PowerShell, kör skriptet med:

& "X:\FirstScript.ps1"

Kör FirstScript.ps1

Vad är PowerShell ISE?

Ocuco-landskapet Windows PowerShell Integrated Scripting Environment (ISE) är standardredigeraren för PowerShell. I ISE kan du köra kommandon, skriva tester och felsöka skript i en grafisk, fönsterbaserad miljö. Den stöder flerradig redigering, syntaxfärgning, tabbkomplettering, selektiv körning och mer.

PowerShell ISE erbjuder också en konsolruta som kör kommandon direkt, medan sidofönster visar källan till dina skript och eventuella verktyg som är anslutna till ISE. Du kan öppna flera skriptfönster samtidigt – användbart vid felsökning av skript som är beroende av funktioner som definieras i andra skript eller moduler.

PowerShell ISE

Återskapa det tidigare skriptet i ISE:

  1. Klistra in koden i redigeraren.
  2. Spara skriptet.
  3. Tryck F5 för att köra den.
  4. Observera utdata i konsolfönstret.

Kör skript i ISE

Prov 2: följande skript visas gratis virtuellt minne på maskinen.

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

Gratis virtuellt minnesskript

Power Concepts

Följande begrepp utgör ordförrådet för det dagliga PowerShell-arbetet.

Konceptet BESKRIVNING
Cmdlets Inbyggda kommandon skrivna i .NET-språk som VB eller C#. Utvecklare utökar uppsättningen genom att läsa in eller skriva PowerShell-snapins.
Funktioner Kommandon skrivna i själva PowerShell-språket, utan att behöva en IDE som Visual Studio.
Skript Textfiler på disk med .ps1 förlängning.
Tillämpningar Befintliga Windows program som anropas från skalet.
Tänk om Anger att cmdlet:en inte ska köras, utan att beskriva vad som skulle hända om den gjorde det.
Bekräfta Instruerar cmdlet:en att fråga innan körning.
Mångordig Ger en högre nivå av operativ detaljrikedom.
Felsök Instruerar cmdlet:en att generera felsökningsinformation.
ErrorAction Definierar vad cmdlet:en gör vid fel. Tillåtna värden: continue, stop, silentlycontinue, inquire.
ErrorVariable Namnger variabeln som innehåller felinformation.
OutVariable Anger att cmdlet:en ska lagra sina utdata i en specifik variabel.
OutBuffer Lagrar ett specifikt antal objekt innan de skickas ner i pipelinen.

Fördelar med att använda PowerShell-skript

  • PowerShell-skript är kraftfulla och koncisa – du kan uppnå mycket på bara några få rader.
  • Variabler deklareras med $<variable> syntax.
  • Variabler kan innehålla kommandoutdata, objekt och primitiva värden.
  • Variabeltypen behöver inte anges explicit.

PowerShell kontra kommandotolken

Power kommando~~POS=TRUNC
Djupt integrerad med WindowsErbjuder en interaktiv kommandorad och ett komplett skriptspråk. Standardkommandoradsgränssnitt tillhandahålls av MicrosoftEtt enkelt Win32-program som kommunicerar med andra Win32-objekt.
Använder cmdlets som kan anropas interaktivt eller via automatiseringsskript. Inga cmdlets.
Behandlar utdata som objekt så att det kan flöda till en annan cmdlet via pipelinen. Utdata är en vanlig textström, inte objekt.
Avancerad i funktioner, kapacitet och intern arkitektur. Grundläggande skal, lämpligt för äldre batchuppgifter.

PowerShell-applikationer

PowerShell har blivit standardvalet för IT-administratörer eftersom det dramatiskt minskar arbetsinsatsen i stora företagsnätverk. Tänk dig att hantera mer än fyrahundra servrar och lansera en ny säkerhetslösning som är beroende av en specifik tjänst som körs på varje värd.

Att logga in manuellt på varje server är långsamt och felbenäget. Ett enda PowerShell-skript kan undersöka varje server på några minuter, rapportera vilka värdar som redan kör tjänsten och till och med aktivera den på resten. Skriptet registrerar intentionen en gång och tillämpar den tillförlitligt över hela databasen.

Vanliga frågor

PowerShell automatiserar Windows systemadministration — hantera tjänster, filer, användare och servrar — via en objektorienterad kommandorad och skriptspråk byggt på .NET-ramverket.

En cmdlet är ett lättviktigt .NET-klassobjekt som använder ett verb-substantiv-namn och returnerar objekt. Ett traditionellt kommando i andra shell matar ut vanlig text och hanterar sin egen parsning och formatering.

PowerShell fungerar med objekt och stöder cmdlets, skript och djup .NET-integration. Kommandotolken är ett grundläggande textbaserat skal vars kommandon matar ut vanlig text snarare än objekt.

En .ps1-fil är ett PowerShell-skript – en textfil som innehåller ett eller flera PowerShell-kommandon. Som standard kan den inte köras genom att dubbelklicka; den körs från konsolen eller med Kör med PowerShell.

Öppna PowerShell som administratör och kör Set-ExecutionPolicy med ett värde som RemoteSigned eller Unrestricted, och bekräfta sedan. Använd Get-ExecutionPolicy för att kontrollera den aktuella inställningen.

Integrated Scripting Environment (ISE) är PowerShells inbyggda GUI-redigerare för att skriva, köra, testa och felsöka skript, med syntaxfärgning, tabbkomplettering och flera skriptflikar.

AI-assistenter föreslår cmdlets, förklarar skriptbeteende och upptäcker fel medan du skriver. De hjälper administratörer att automatisera uppgifter snabbare och konvertera förfrågningar på vanlig engelska till fungerande PowerShell-kommandon.

Ja. AI-kodassistenter genererar kompletta PowerShell-skript från en beskrivning på enkelt engelska, till exempel "lista alla stoppade tjänster och starta om dem", och förklarar varje cmdlet så att du kan granska dem innan du kör dem.

Sammanfatta detta inlägg med: