Powershell-handledning för nybörjare: Lär dig Powershell-skript

Låt oss börja lära oss Powershell Lessons. Först kommer vi att lära oss:

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

Starta PowerShell

Steg 2) Power Shell-fönstret öppnas

Starta PowerShell

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

Cmdlet vs Command

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

Cmdlet vs Command

Get-Service: Hittar alla cmdlets med ordet "tjänst".

Exempel: Hämta alla tjänster som börjar med "vm"

Get-Service "vm*"

Cmdlet vs Command

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

Cmdlet vs Command

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:

Cmdlet vs Command

Powershell Datatyper

Powershell Datatyper
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."

PowerShell-skript

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"

PowerShell-skript

Steg 2) Ange följande kommandon

  1. Get-ExecutionPolicy
  2. Ange-exekveringspolicy obegränsad
  3. Ange Y i prompten
  4. Get-ExecutionPolicy

PowerShell-skript

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

Första PowerShell-skriptet

I Powershell, anropa skriptet med kommandot

& "X:\FirstScript.ps1"

Första PowerShell-skriptet

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.

PowerShell ISE

PowerShell ISE

Samma skript som vi skapade i notepad, kan skapas i ISE

  1. Klistra in kod i editorn
  2. Spara skript
  3. Använd F5 för att köra skriptet
  4. Observera utdata i konsolen

PowerShell ISE

Prov 2:

Följande kod ger gratis Virtuellt minne i din maskin

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

PowerShell ISE

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