Powershell-handledning för nybörjare: Lär dig Powershell-skript
Vad är PowerShell?
Windows Power är en objektorienterad automationsmotor och skriptspråk. Det är främst designat för IT-proffs och systemadministratörer att kontrollera och automatisera administrationen av Windows OS och andra applikationer. Det ger övertygande nya koncept för att utöka kunskapen du har fått och skript du har skapat inom Windows Kommandotolken och Windows Script Host-miljöer.
Den kombinerar flexibiliteten med skript, kommandoradshastighet och kraften hos ett GUI-baserat adminverktyg. Det låter dig lösa problem effektivt genom att hjälpa systemadministratören att eliminera framtida manuella arbetstimmar. Vi kommer att gå igenom alla viktiga aspekter som du bör känna till för att lära dig PowerShell.
Det här är en komplett guide till grunderna för Powershell-skript... låt oss börja!
Varför använda Powershell?
Här är några viktiga anledningar till att använda Powershell:
- Powershell erbjuder en välintegrerad kommandoradsupplevelse för operativsystemet
- PowerShell ger fullständig åtkomst till alla typer i .NET-ramverket
- Betrodd av systemadministratörer.
- PowerShell är ett enkelt sätt att manipulera server- och arbetsstationskomponenter
- Den är inriktad på systemadministratörer genom att skapa en enklare syntax
- PowerShell är säkrare än att köra VBScript eller andra skriptspråk
PowerShell-historik
PowerShell första version 1.0 släpptes 2006. Idag har PowerShell version 7.2. Allteftersom året och versionen gick, växte PowerShells kapacitet och värdmiljöer avsevärt.
Låt se versionsvis historia av Powershell:
- PowerShell version 1 stödde den lokala administrationen av Windows server 2003
- PowerShell 2.0 integrerades med Windows 7 och Windows Server 2008 R2. Den här versionen stöder fjärrstyrning och förbättrar funktionerna i PowerShell som transaktioner, bakgrundsjobb, händelser, felsökning, etc.
- PowerShell 3.0 släpptes som en intern del av Windows ledningsram. Den installerades på Windows 8 och Windows Server 2012. Du kan lägga till och schemalägga jobb, sessionsanslutning, automatisk modulladdning osv.
- PowerShell 4.0 levererades med Windows 8.1 och Windows Server 2012 R2. I denna version lades till stöd för önskad tillståndskonfiguration, förbättrad felsökning, nätverksdiagnostik.
- PowerShell 5.0 släpptes som intern del av Windows management framework 5. Funktionerna i denna version är fjärrfelsökning, klassdefinitioner, .NET-uppräkningar, etc.
- PowerShell 7.2 släpptes. Den är byggd på .NET 6.0. Denna version erbjuder nya operatörer, förenklad och dynamisk felvy, automatiska meddelanden om nya versioner, etc.
Nästa i denna Powershell-skripthandledning kommer vi att lära oss om funktionerna i Powershell.
Funktioner i Powershell
- PowerShell Remoting: PowerShell tillåter att skript och cmdlets anropas på en fjärrdator.
- Bakgrundsjobb: Det hjälper dig att anropa skript eller pipeline asynkront. Du kan köra dina jobb antingen på den lokala maskinen eller flera fjärrstyrda maskiner.
- Transaktioner: Aktivera cmdlet och låter utvecklare utföra
- Kväll: Det här kommandot hjälper dig att lyssna, vidarebefordra och agera på hanterings- och systemhändelser.
- Nätverksfilöverföring: Powershell erbjuder inbyggt stöd för prioriterad, asynkron, strypt, överföring av filer mellan maskiner med hjälp av BITS-tekniken (Background Intelligent Transfer Service).
Hur man startar PowerShell
Nu i denna Powershell-skripthandledning kommer vi att lära oss hur du startar Powershell på Windows OS.
PowerShell är förinstallerat i alla senaste versioner av Windows. Vi måste starta PowerShell för att vi måste följa de givna stegen:
Steg 1) Sök efter PowerShell i Windows. Välj och klicka
Steg 2) Power Shell-fönstret öppnas
PowerShell Cmdlet
En cmdlet som också kallas Command let är ett lättviktskommando som används i Windows-basen PowerShell-miljö. PowerShell anropar dessa cmdlets i kommandotolken. Du kan skapa och anropa kommandot cmdlets med PowerShell APIS.
Cmdlet vs Command
Cmdlets skiljer sig från kommandon i andra kommandoskalsmiljöer på följande sätt ?
- Cmdlets är . Framework NET klassobjekt Det kan inte köras separat
- Cmdlets kan konstrueras från så få som ett dussin rader kod
- Parsning, utdataformatering och felpresentation hanteras inte av cmdlets
- Cmdlets-processen fungerar på objekt. Så textström och objekt kan inte skickas som utdata för pipelining
- Cmdlets är postbaserade eftersom de bearbetar ett enda objekt åt gången
Det mesta av PowerShell-funktionaliteten kommer från Cmdlet's som alltid är i verb-substantiv-format och inte plural. Dessutom returnerar Cmdlets inte text. En cmdlet är en serie kommandon, som är mer än en rad, lagrade i en textfil med filtillägget .ps1.
En cmdlet består alltid av ett verb och ett substantiv, separerade med ett bindestreck. Några av de verb som du använder för att lära dig PowerShell är:
- Skaffa sig – För att få något
- Start – Att driva något
- Out — Att mata ut något
- Sluta — Att stoppa något som är igång
- uppsättning – Att definiera något
- Nytt – Att skapa något
Power kommandon
Följande är en lista över viktiga PowerShell-kommandon:
Få hjälp: Hjälp om PowerShell-kommandon och ämnen
Exempel: Visa hjälpinformation om kommandot Format-Table
Get-Help Format-Table
Hämta-kommando: Få information om allt som kan åberopas
Powershell-skriptexempel: För att generera en lista med cmdlets, funktioner installerade i din maskin
Get-Command
Get-Service: Hittar alla cmdlets med ordet "tjänst".
Exempel: Hämta alla tjänster som börjar med "vm"
Get-Service "vm*"
Bli medlem: Visa vad som kan göras med ett föremål
Exempel: Hämta medlemmar av vm-processerna.
Get-Service "vm*" | Get-Member
Andra kommandon:
- Get Module Visar paket med kommandon
- Hämta innehåll Den här cmdleten kan ta en fil och bearbeta dess innehåll och göra något med den
- Get-get Hittar alla cmdlets som börjar med ordet 'get-
Exempel: Skapa en mapp
New-Item -Path 'X:\Guru99' -ItemType Directory
Produktion:
Powershell Datatyper

Specialvariabler
Specialvariabel | BESKRIVNING |
---|---|
$Error | En uppsättning felobjekt som visar de senaste felen |
$Värd | Visa namnet på den aktuella värdapplikationen |
$Profile | Lagrar hela sökvägen för en användarprofil för standardskalet |
$PID | Lagrar processidentifieraren |
$PSUICulture | Den har namnet på den nuvarande UI-kulturen. |
$NULL | Innehåller tomt eller NULL värde. |
$False | Innehåller FALSE värde |
$True | Innehåller SANT värde |
PowerShell-skript
Powershell-skript lagras i .ps1-fil. Som standard kan du inte köra ett skript genom att bara dubbelklicka på en fil. Detta skyddar ditt system från oavsiktlig skada. Så här kör du ett skript:
Steg 1: högerklicka på den och klicka på "Kör med PowerShell."
Dessutom finns det en policy som begränsar skriptkörning. Du kan se denna policy genom att köra kommandot Get-ExecutionPolicy.
Du kommer att få en av följande utdata:
- begränsad— Inga skript är tillåtna. Detta är standardinställningen, så den visas första gången när du kör kommandot.
- Allsignerad— Du kan köra skript signerade av en pålitlig utvecklare. Med hjälp av denna inställning kommer ett skript att be om bekräftelse på att du vill köra det innan det körs.
- RemoteSigned— Du kan köra dina eller skript signerade av en pålitlig utvecklare.
- Obegränsad— Du kan köra vilket skript som helst som du vill köra
Steg för att ändra exekveringspolicy
Steg 1) Öppna en förhöjd PowerShell-prompt. Högerklicka på PowerShell och "Kör som administratör"
Steg 2) Ange följande kommandon
- Get-ExecutionPolicy
- Ange-exekveringspolicy obegränsad
- Ange Y i prompten
- Get-ExecutionPolicy
Första PowerShell-skriptet
Skriv följande kommando i ett anteckningsblock
Write-Host "Hello, Guru99!"
PowerShell-skript har en tillägg ps1. Spara filen som FirstScript.ps1
I Powershell, anropa skriptet med kommandot
& "X:\FirstScript.ps1"
Vad är PowerShell ISE?
Ocuco-landskapet Windows PowerShell Integrated Scripting Environment (ISE) är standardredigeraren för Windows PowerShell. I denna ISE kan du köra kommandon, skrivartest och felsöka skript i en GUI-miljö i en fönsterbas. Du kan göra flerradsredigering, syntaxfärgning, flikkomplettering, selektiv körning och massor av andra saker.
Windows PowerShell ISE låter dig också köra kommandon i en konsolruta. Den stöder dock också rutor som du kan använda för att samtidigt visa källkoden för ditt skript och andra verktyg som du kan koppla in i ISE.
Du kan till och med öppna flera skriptfönster samtidigt. Detta är särskilt användbart när du felsöker ett skript som använder funktioner som definierats i andra skript eller moduler.

Samma skript som vi skapade i notepad, kan skapas i ISE
- Klistra in kod i editorn
- Spara skript
- Använd F5 för att köra skriptet
- Observera utdata i konsolen
Prov 2:
Följande kod ger gratis Virtuellt minne i din maskin
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
Power Concepts
Nu i denna Powershell-handledning för nybörjare kommer vi att lära oss om viktiga Powershell-koncept:
Cmdlets | Cmdlet är byggkommando skrivna på .net-språk som VB eller C#. Det tillåter utvecklare att utöka uppsättningen av cmdlets genom att ladda och skriva PowerShell-snap-ins. |
Funktioner | Funktioner är kommandon som är skrivna på PowerShell-språket. Det kan utvecklas utan att använda andra IDE som Visual Studio och utvecklare. |
Skript | Skript är textfiler på disk med tillägget .ps1 |
Tillämpningar | Applikationer är befintliga Windows-program. |
Tänk om | Säger till cmdleten att inte köra, utan att berätta vad som skulle hända om cmdleten skulle köras. |
Bekräfta | Instruera cmdleten att fråga innan du utför kommandot. |
Mångordig | Ger en högre detaljnivå. |
Felsök | Instruerar cmdleten att tillhandahålla felsökningsinformation. |
ErrorAction | Instruerar cmdleten att utföra en specifik åtgärd när ett fel uppstår. Tillåtna åtgärder fortsätter, stoppa, tyst - fortsätt och fråga. |
ErrorVariable | Den specificerar variabeln som innehåller felinformation. |
OutVariable | Anger för cmdleten att använda en specifik variabel för att hålla utdatainformationen |
OutBuffer | Instruerar cmdleten att hålla det specifika antalet objekt innan nästa cmdlet anropas i pipelinen. |
Fördelar med att använda PowerShell-skript
- PowerShell-skript är riktigt kraftfulla och kan göra mycket saker på färre rader.
- Variabler deklareras i formen $
- Variabler kan användas för att hålla utdata av kommandon, objekt och värden.
- "Typ" av en variabel behöver inte anges.
PowerShell vs. Kommandotolken
Power | kommando~~POS=TRUNC |
---|---|
PowerShell integreras djupt med Windows OS. Den erbjuder ett interaktivt kommandoradsgränssnitt och skriptspråk. | Kommandotolken är ett standardkommandoradsgränssnitt som tillhandahålls av Microsoft. Det är en enkel win32-applikation som kan interagera och prata med alla win32-objekt i Windows operativ system. |
PowerShell använder så kallade cmdlets. Det kan anropas antingen i runtime-miljön eller i automatiseringsskripten. | Inga sådana funktioner erbjuds via kommandotolken. |
PowerShell betraktar dem som objekt. Så utdata kan skickas som indata till andra cmdlets genom pipelinen. | Kommandotolken eller till och med *nix-skalet, utdata som genereras från en cmdlet är inte bara en textström utan en samling objekt. |
PowerShell är mycket avancerad när det gäller funktioner, möjligheter och inre funktion. | Kommandotolken är väldigt grundläggande. |
Tillämpningar av Powershell
Idag har PowerShell blivit ett idealiskt val för IT-administratörer eftersom det underlättar hantering och arbete i stora företagsnätverk. Låt oss till exempel anta att du hanterar ett stort nätverk som innehåller mer än fyrahundra servrar. Nu vill du implementera en ny säkerhetslösning. Denna säkerhetslösning beror på en viss tjänst som måste köras på dessa servrar.
Du kan säkert logga in på varje server och se om de har den tjänsten installerad och igång eller inte. Men det krävs verkligen många mänskliga fel eftersom din personal behöver spendera mycket tid på denna icke-produktiva process.
Men om du använder PowerShell kan du slutföra den här uppgiften på bara några minuter. Det beror på att hela operationen görs med ett enda skript som samlar information om de tjänster som körs på servrarna.
Sammanfattning
- Windows PowerShell är objektorienterad automationsmotor och skriptspråk
- Powershell erbjuder en välintegrerad kommandoradsupplevelse för operativsystemet
- PowerShell första version 1.0 släpptes 2006
- PowerShell tillåter att skript och cmdlets anropas på en fjärrdator
- PowerShell är förinstallerat i alla senaste versioner av Windows
- En cmdlet är ett lättviktskommando som används i Windows Bas PowerShell-miljön
- Get, Start, Out, Stop, Set, New är viktiga PowerShell-kommandon
- Boolean, Byte, Chat, Decimal, Decimal, Long är viktiga datatyper för PowerShell
- $Error. $Host, $Profile, $PID, $PSUICulture, $NULL är några speciella variabler som används i PowerShell
- Ocuco-landskapet Windows PowerShell Integrated Scripting Environment (ISE) är standardredigeraren för PowerShell
- PowerShell integreras djupt med Windows OS medan kommandotolken är ett standardkommandoradsgränssnitt som tillhandahålls av Microsoft
- PowerShell har blivit ett idealiskt val för IT-administratörer eftersom det underlättar hantering och ansträngning i stora företagsnätverk