Powershell-tutorial for begyndere: Lær Powershell-scripting
Hvad er PowerShell?
Windows PowerShell er en objektorienteret automatiseringsmotor og scriptsprog. Det er primært designet til it-professionelle og systemadministratorer til at kontrollere og automatisere administrationen af Windows OS og andre applikationer. Det giver overbevisende nye koncepter til at udvide den viden, du har opnået, og scripts, du har oprettet inden for Windows Kommandoprompt og Windows Script Host-miljøer.
Det kombinerer fleksibiliteten ved scripting, kommandolinjehastighed og kraften i et GUI-baseret admin-værktøj. Det giver dig mulighed for at løse problemer effektivt ved at hjælpe systemadministratoren med at eliminere fremtidige manuelle arbejdstimer. Vi vil gennemgå alle de vigtige aspekter, som du bør vide for at lære PowerShell.
Dette er en komplet guide til det grundlæggende Powershell-script... lad os begynde!
Hvorfor bruge Powershell?
Her er nogle vigtige grunde til at bruge Powershell:
- Powershell tilbyder en velintegreret kommandolinjeoplevelse til operativsystemet
- PowerShell giver fuld adgang til alle typerne i .NET frameworket
- Betroet af systemadministratorer.
- PowerShell er en enkel måde at manipulere server- og arbejdsstationskomponenter på
- Det er rettet mod systemadministratorer ved at skabe en mere nem syntaks
- PowerShell er mere sikkert end at køre vbscript eller andre scriptsprog
PowerShell historie
PowerShell første version 1.0 blev udgivet i 2006. I dag er PowerShell på version 7.2. Som året og versionen gik, voksede PowerShells muligheder og hostingmiljøer betydeligt.
Lad os se Powershells versionskloge historie:
- PowerShell version 1 understøttede den lokale administration af Windows Server 2003
- PowerShell 2.0 blev integreret med Windows 7 og Windows Server 2008 R2. Denne version understøtter fjernbetjening og forbedrer PowerShells muligheder som transaktioner, baggrundsjob, begivenheder, fejlretning osv.
- PowerShell 3.0 blev udgivet som en intern del af Windows ledelsesramme. Den blev installeret på Windows 8 og Windows Server 2012. Du kan tilføje og planlægge job, sessionstilslutning, automatisk modulindlæsning mv.
- PowerShell 4.0 blev leveret med Windows 8.1 og Windows Server 2012 R2. I denne version tilføjet understøttelse af ønsket tilstandskonfiguration, forbedret debugging, netværksdiagnostik.
- PowerShell 5.0 blev udgivet som intern del af Windows management framework 5. Funktionstilbuddene i denne version er fjernfejlfinding, klassedefinitioner, .NET-opregninger osv.
- PowerShell 7.2 blev udgivet. Den er bygget på .NET 6.0. Denne version tilbyder nye operatører, forenklet og dynamisk fejlvisning, automatiske nye versionsmeddelelser osv.
Næste i denne Powershell scripting tutorial, vil vi lære om funktionerne i Powershell.
Funktioner i Powershell
- PowerShell Remoting: PowerShell tillader, at scripts og cmdlet'er kan startes på en ekstern maskine.
- Baggrundsjob: Det hjælper dig med at fremkalde script eller pipeline asynkront. Du kan køre dine job enten på den lokale maskine eller flere fjernbetjente maskiner.
- Transaktioner: Aktiver cmdlet og giver udviklere mulighed for at udføre
- Aften: Denne kommando hjælper dig med at lytte, videresende og handle på ledelses- og systemhændelser.
- Filoverførsel via netværk: Powershell tilbyder indbygget support til prioriteret, asynkron, stryget overførsel af filer mellem maskiner ved hjælp af BITS-teknologien (Background Intelligent Transfer Service).
Sådan starter du PowerShell
Nu i denne Powershell-script-tutorial lærer vi, hvordan du starter Powershell på Windows OS.
PowerShell er forudinstalleret i alle nyeste versioner af Windows. Vi skal starte PowerShell for at vi skal følge de givne trin:
Trin 1) Søg efter PowerShell i Windows. Vælg og klik
Trin 2) Power Shell-vinduet åbnes
PowerShell Cmdlet
En cmdlet, som også kaldes Command let er en letvægtskommando, der bruges i Window-base PowerShell-miljøet. PowerShell kalder disse cmdlet'er i kommandoprompten. Du kan oprette og påkalde cmdlets-kommando ved hjælp af PowerShell APIS.
Cmdlet vs Command
Cmdlets er forskellige fra kommandoer i andre kommando-shell-miljøer på følgende måder ?
- Cmdlets er . NET Framework klasseobjekter Det kan ikke udføres separat
- Cmdlets kan konstruere fra så få som et dusin linjer kode
- Parsing, outputformatering og fejlpræsentation håndteres ikke af cmdlet'er
- Cmdlets-processen fungerer på objekter. Så tekststrøm og objekter kan ikke sendes som output til pipelining
- Cmdlets er record-baserede, da de behandler et enkelt objekt ad gangen
Det meste af PowerShell-funktionaliteten kommer fra Cmdlet's, som altid er i verbum-substantiv-format og ikke flertal. Desuden returnerer Cmdlets ikke tekst. En cmdlet er en række kommandoer, som er mere end én linje, gemt i en tekstfil med filtypenavnet .ps1.
En cmdlet består altid af et verbum og et substantiv, adskilt med en bindestreg. Nogle af de verber, du bruger til at lære PowerShell, er:
- Få – For at få noget
- Starten - At køre noget
- Out - At udsende noget
- Stands — At stoppe noget, der kører
- sæt - At definere noget
- Ny - At skabe noget
PowerShell-kommandoer
Følgende er en liste over vigtige PowerShell-kommandoer:
Få hjælp: Hjælp om PowerShell-kommandoer og -emner
Eksempel: Vis hjælpeoplysninger om kommandoen Format-Tabel
Get-Help Format-Table
Hent-kommando: Få information om alt, der kan påberåbes
Powershell Script Eksempel: For at generere en liste over cmdlets, funktioner installeret på din maskine
Get-Command
Få-service: Finder alle cmdlet'er med ordet 'service' i.
Eksempel: Hent alle tjenester, der begynder med "vm"
Get-Service "vm*"
Bliv medlem: Vis, hvad der kan gøres med en genstand
Eksempel: Hent medlemmer af vm-processerne.
Get-Service "vm*" | Get-Member
Andre kommandoer:
- Hent modul Viser pakker med kommandoer
- Hent indhold Denne cmdlet kan tage en fil og behandle dens indhold og gøre noget med den
- Get-get Finder alle cmdlet'er, der starter med ordet 'get-
Eksempel: Opret en mappe
New-Item -Path 'X:\Guru99' -ItemType Directory
Output:
Powershell Datatyper
Særlige variabler
Speciel variabel | Description |
---|---|
$Fejl | En række fejlobjekter, der viser de seneste fejl |
$Vært | Vis navnet på den aktuelle hostingapplikation |
$Profil | Gemmer hele stien til en brugerprofil for standardskallen |
$PID | Gemmer procesidentifikationen |
$PSUICulture | Det bærer navnet på den nuværende UI-kultur. |
$NULL | Indeholder tom eller NULL værdi. |
$Falsk | Indeholder FALSK værdi |
$Sandt | Indeholder TRUE værdi |
PowerShell Scripts
Powershell-scripts gemmes i .ps1-filen. Som standard kan du ikke køre et script ved blot at dobbeltklikke på en fil. Dette beskytter dit system mod utilsigtet skade. Sådan udføres et script:
Trin 1: Højreklik på det og klik på "Kør med PowerShell."
Desuden er der en politik, der begrænser scriptudførelse. Du kan se denne politik ved at køre kommandoen Get-ExecutionPolicy.
Du får et af følgende output:
- begrænset— Ingen scripts er tilladt. Dette er standardindstillingen, så den vises første gang, når du kører kommandoen.
- Allesigneret— Du kan køre scripts, der er signeret af en betroet udvikler. Ved hjælp af denne indstilling vil et script bede om bekræftelse på, at du vil køre det, før det udføres.
- RemoteSigned— Du kan køre dit eller scripts, der er signeret af en betroet udvikler.
- Ubegrænset— Du kan køre ethvert script, som du vil køre
Trin til ændring af udførelsespolitik
Trin 1) Åbn en forhøjet PowerShell-prompt. Højreklik på PowerShell og "Kør som administrator"
Trin 2) Indtast følgende kommandoer
- Get-ExecutionPolicy
- Sæt-udførelsespolitik ubegrænset
- Indtast Y i prompten
- Get-ExecutionPolicy
Første PowerShell-script
Skriv følgende kommando i en notesblok
Write-Host "Hello, Guru99!"
PowerShell Scripts har en udvidelse ps1. Gem filen som FirstScript.ps1
I Powershell skal du kalde scriptet ved hjælp af kommandoen
& "X:\FirstScript.ps1"
Hvad er PowerShell ISE?
Windows PowerShell Integrated Scripting Environment (ISE) er standardeditoren for Windows PowerShell. I denne ISE kan du køre kommandoer, skrivetest og fejlfinde scripts i et GUI-miljø i et vindue. Du kan lave multiline redigering, syntaksfarvning, tabulatorfuldførelse, selektiv udførelse og mange andre ting.
Windows PowerShell ISE giver dig også mulighed for at køre kommandoer i en konsolrude. Det understøtter dog også ruder, som du kan bruge til samtidig at se kildekoden til dit script og andre værktøjer, som du kan tilslutte til ISE.
Du kan endda åbne flere scriptvinduer på samme tid. Dette er specielt nyttigt, når du fejlretter et script, der bruger funktioner, der er defineret i andre scripts eller moduler.
Det samme script, som vi lavede i notesblok, kan oprettes i ISE
- Indsæt kode i editoren
- Gem script
- Brug F5 til at køre scriptet
- Observer output i konsollen
Prøve 2:
Følgende kode giver gratis Virtuel hukommelse i din maskine
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
PowerShell Concepts
Nu i denne Powershell for begyndere-tutorial lærer vi om vigtige Powershell-koncepter:
Cmdlets | Cmdlet er build-kommando skrevet på .net-sprog som VB eller C#. Det giver udviklere mulighed for at udvide sættet af cmdlets ved at indlæse og skrive PowerShell-snap-ins. |
Funktioner | Funktioner er kommandoer, som er skrevet på PowerShell-sproget. Det kan udvikles uden at bruge andre IDE som Visual Studio og udviklere. |
Scripts | Scripts er tekstfiler på disk med filtypenavnet .ps1 |
Applikationer | Programmer er eksisterende Windows-programmer. |
Hvad hvis | Fortæller cmdlet'en ikke at udføre, men at fortælle dig, hvad der ville ske, hvis cmdlet'en skulle køre. |
Bekræfte | Instruer cmdlet'en til at spørge, før kommandoen udføres. |
Ordrig | Giver et højere detaljeringsniveau. |
Debug | Instruerer cmdlet'en til at give fejlfindingsoplysninger. |
Fejlhandling | Instruerer cmdlet'en til at udføre en bestemt handling, når der opstår en fejl. Tilladte handlinger fortsætter, stop, lydløst - fortsæt og forespørg. |
ErrorVariable | Den specificerer den variabel, der indeholder fejlinformation. |
UdVariabel | Fortæller cmdlet'en at bruge en specifik variabel til at opbevare outputoplysningerne |
OutBuffer | Instruerer cmdlet'en til at holde det specifikke antal objekter, før den næste cmdlet kaldes i pipelinen. |
Fordele ved at bruge PowerShell-script
- PowerShell-scripts er virkelig kraftfulde og kunne gøre mange ting på færre linjer.
- Variabler er deklareret i formen $
- Variabler kunne bruges til at holde outputtet af kommandoer, objekter og værdier.
- "Type" af en variabel behøver ikke angives.
PowerShell vs. Kommandoprompt
PowerShell | Kommandoprompt |
---|---|
PowerShell integreres dybt med Windows OS. Det tilbyder en interaktiv kommandolinjegrænseflade og scriptsprog. | Kommandoprompt er en standard kommandolinjegrænseflade, som leveres af Microsoft. Det er en simpel win32-applikation, der kan interagere og tale med alle win32-objekter i Windows operativ system. |
PowerShell bruger det, der er kendt som cmdlets. Det kan påberåbes enten i runtime-miljøet eller automatiseringsscripts. | Ingen sådanne funktioner tilbydes via kommandoprompt. |
PowerShell betragter dem som objekter. Så outputtet kan sendes som input til andre cmdlets gennem pipelinen. | Kommandoprompt eller endda *nix shell, output genereret fra en cmdlet er ikke bare en strøm af tekst, men en samling af objekter. |
PowerShell er meget avanceret med hensyn til funktioner, muligheder og indre funktion. | Kommandoprompt er meget grundlæggende. |
Anvendelser af Powershell
I dag er PowerShell blevet et ideelt valg for it-administratorer, da det letter administration og indsats i store virksomhedsnetværk. Lad os for eksempel antage, at du administrerer et stort netværk, som indeholder mere end fire hundrede servere. Nu vil du implementere en ny sikkerhedsløsning. Denne sikkerhedsløsning afhænger af en bestemt tjeneste, som skal køre på disse servere.
Du kan helt sikkert logge ind på hver server og se, om de har den pågældende service installeret og kørende eller ej. Men det kræver helt sikkert mange menneskelige fejl, da dit personale skal bruge meget tid på denne ikke-produktive proces.
Men hvis du bruger PowerShell, kan du fuldføre denne opgave på blot et par minutter. Det skyldes, at hele operationen udføres med et enkelt script, som samler information om de tjenester, der kører på serverne.
Resumé
- Windows PowerShell er objektorienteret automatiseringsmotor og scriptsprog
- Powershell tilbyder en velintegreret kommandolinjeoplevelse til operativsystemet
- PowerShell første version 1.0 blev udgivet i 2006
- PowerShell gør det muligt at starte scripts og cmdlets på en ekstern maskine
- PowerShell er forudinstalleret i alle nyeste versioner af Windows
- En cmdlet er en letvægtskommando, der bruges i Window-base PowerShell-miljøet
- Get, Start, Out, Stop, Set, New er vigtige PowerShell-kommandoer
- Boolean, Byte, Chat, Decimal, Decimal, Lang er vigtige datatyper for PowerShell
- $Fejl. $Host, $Profile, $PID, $PSUICulture, $NULL er nogle specielle variabler, der bruges i PowerShell
- Windows PowerShell Integrated Scripting Environment (ISE) er standardeditoren for PowerShell
- PowerShell integreres dybt med Windows OS, hvorimod kommandoprompt er en standard kommandolinjegrænseflade, som leveres af Microsoft
- PowerShell er blevet et ideelt valg for it-administratorer, da det letter administration og indsats i store virksomhedsnetværk