Powershell-tutorial for begyndere: Lær Powershell-scripting

Lad os begynde at lære Powershell Lessons. Først vil vi lære:

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

Start PowerShell

Trin 2) Power Shell-vinduet åbnes

Start PowerShell

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:

  • – 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

Cmdlet vs Command

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

Cmdlet vs Command

Få-service: Finder alle cmdlet'er med ordet 'service' i.

Eksempel: Hent alle tjenester, der begynder med "vm"

Get-Service "vm*"

Cmdlet vs Command

Bliv medlem: Vis, hvad der kan gøres med en genstand

Eksempel: Hent medlemmer af vm-processerne.

Get-Service "vm*" | Get-Member

Cmdlet vs Command

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:

Cmdlet vs Command

Powershell Datatyper

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

PowerShell Scripts

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"

PowerShell Scripts

Trin 2) Indtast følgende kommandoer

  1. Get-ExecutionPolicy
  2. Sæt-udførelsespolitik ubegrænset
  3. Indtast Y i prompten
  4. Get-ExecutionPolicy

PowerShell Scripts

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

Første PowerShell-script

I Powershell skal du kalde scriptet ved hjælp af kommandoen

& "X:\FirstScript.ps1"

Første PowerShell-script

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.

PowerShell ISE

PowerShell ISE

Det samme script, som vi lavede i notesblok, kan oprettes i ISE

  1. Indsæt kode i editoren
  2. Gem script
  3. Brug F5 til at køre scriptet
  4. Observer output i konsollen

PowerShell ISE

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 ISE

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