Powershell-zelfstudie voor beginners: leer Powershell-scripts

Laten we beginnen met het leren van Powershell Lessons. Eerst zullen we leren:

Wat is PowerShell?

Windows PowerShell is een objectgeoriënteerde automatiseringsengine en scripttaal. Het is voornamelijk ontworpen voor IT-professionals en systeembeheerders om het beheer ervan te controleren en te automatiseren Windows OS en andere applicaties. Het biedt overtuigende nieuwe concepten om de kennis die u hebt opgedaan en de scripts die u hebt gemaakt binnen de Windows Opdrachtprompt en Windows Scripthost-omgevingen.

Het combineert de flexibiliteit van scripting, de snelheid van de opdrachtregel en de kracht van een GUI-gebaseerde admintool. Het stelt u in staat om problemen efficiënt op te lossen door systeembeheerders te helpen toekomstige handmatige arbeidsuren te elimineren. We zullen alle belangrijke aspecten doornemen die u moet weten om PowerShell te leren.

Dit is een complete gids voor de basisbeginselen van Powershell-scripts... laten we beginnen!

Waarom Powershell gebruiken?

Hier volgen enkele belangrijke redenen om Powershell te gebruiken:

  • Powershell biedt een goed geïntegreerde opdrachtregelervaring voor het besturingssysteem
  • PowerShell biedt volledige toegang tot alle typen in het .NET-framework
  • Vertrouwd door systeembeheerders.
  • PowerShell is een eenvoudige manier om server- en werkstationcomponenten te manipuleren
  • Het is gericht op systeembeheerders door een eenvoudigere syntaxis te creëren
  • PowerShell is veiliger dan hardlopen VBScript of andere scripttalen

PowerShell-geschiedenis

PowerShell eerste versie 1.0 werd uitgebracht in 2006. Vandaag is PowerShell versie 7.2. Naarmate het jaar en de versie verstreken, groeiden de mogelijkheden en hostingomgevingen van PowerShell aanzienlijk.

Laten we de versiegeschiedenis van Powershell bekijken:

  • PowerShell versie 1 ondersteunde het lokale beheer van Windows server 2003
  • PowerShell 2.0 is geïntegreerd met Windows 7 en Windows Server2008 R2. Deze versie ondersteunt externe communicatie en verbetert de mogelijkheden van PowerShell, zoals transacties, achtergrondtaken, gebeurtenissen, foutopsporing, enz.
  • PowerShell 3.0 is uitgebracht als intern onderdeel van de Windows management raamwerk. Het werd geïnstalleerd op Windows 8 en Windows Server 2012. U kunt taken, sessieconnectiviteit, automatisch laden van modules, enz. toevoegen en plannen.
  • PowerShell 4.0 is meegeleverd Windows 8.1 en Windows Server2012 R2. In deze versie is ondersteuning toegevoegd voor de gewenste statusconfiguratie, verbeterde foutopsporing en netwerkdiagnostiek.
  • PowerShell 5.0 is uitgebracht als intern onderdeel van Windows managementframework 5. De functies in deze versie zijn foutopsporing op afstand, klassendefinities, .NET-opsommingen, enz.
  • PowerShell 7.2 is uitgebracht. Het is gebouwd op .NET 6.0. Deze versie biedt nieuwe operators, vereenvoudigde en dynamische foutweergave, automatische meldingen van nieuwe versies, etc.

Vervolgens zullen we in deze Powershell-scripting-tutorial meer leren over de functies van Powershell.

Kenmerken van Powershell

  • PowerShell Remoting: Met PowerShell kunnen scripts en cmdlets worden aangeroepen op een externe machine.
  • Achtergrond banen: Het helpt u om scripts of pijplijnen asynchroon aan te roepen. U kunt uw taken uitvoeren op de lokale machine of op meerdere extern bediende machines.
  • Transacties: Schakel cmdlet in en laat ontwikkelaars presteren
  • Avond: Met deze opdracht kunt u luisteren naar, doorsturen van en reageren op beheer- en systeemgebeurtenissen.
  • Netwerkbestandsoverdracht: Powershell biedt native ondersteuning voor geprioriteerde, asynchrone en beperkte bestandsoverdracht tussen machines met behulp van de Background Intelligent Transfer Service (BITS)-technologie.

Hoe PowerShell te starten

In deze Powershell-scripttutorial leren we nu hoe u Powershell kunt starten Windows OS.

PowerShell is vooraf geïnstalleerd in alle nieuwste versies van Windows. We moeten PowerShell starten, daarvoor moeten we de gegeven stappen volgen:

Stap 1) Zoek naar PowerShell in Windows. Selecteer en klik

Start PowerShell

Stap 2) Power Shell-venster wordt geopend

Start PowerShell

PowerShell-cmdlet

Een cmdlet die ook wel Command let wordt genoemd, is een lichtgewicht commando dat wordt gebruikt in de Window-base PowerShell-omgeving. PowerShell roept deze cmdlets aan via de opdrachtprompt. U kunt de cmdlets-opdracht maken en aanroepen met behulp van PowerShell APIS.

Cmdlet versus opdracht

Cmdlets verschillen van opdrachten in andere opdracht-shellomgevingen op de volgende manieren:

  • Cmdlets zijn dat wel . NET Framework class-objecten Het kan niet afzonderlijk worden uitgevoerd
  • Cmdlets kunnen bestaan ​​uit slechts een tiental regels code
  • Parseren, uitvoeropmaak en foutpresentatie worden niet afgehandeld door cmdlets
  • Cmdlets-proces werkt op objecten. Tekststreams en objecten kunnen dus niet worden doorgegeven als uitvoer voor pipelining
  • Cmdlets zijn op records gebaseerd en verwerken dus één object tegelijk

Het grootste deel van de PowerShell-functionaliteit komt van Cmdlet's, die altijd in de indeling van werkwoorden en zelfstandig naamwoorden staat en niet in het meervoud. Bovendien retourneren de Cmdlets-objecten geen tekst. Een cmdlet is een reeks opdrachten, bestaande uit meer dan één regel, opgeslagen in een tekstbestand met de extensie .ps1.

Een cmdlet bestaat altijd uit een werkwoord en een zelfstandig naamwoord, gescheiden door een koppelteken. Enkele van de werkwoorden die u kunt gebruiken om PowerShell te leren zijn:

  • Krijgen - Iets krijgen
  • Start - Om iets te runnen
  • Uit - Om iets uit te voeren
  • stop - Om iets dat loopt te stoppen
  • Zet de - Om iets te definiëren
  • Nieuw – Om iets te creëren

PowerShell commando's

Hieronder vindt u een lijst met belangrijke PowerShell-opdrachten:

Hulp krijgen: Hulp over PowerShell-opdrachten en onderwerpen

Voorbeeld: Help-informatie weergeven over de opdracht Format-Table

Get-Help Format-Table

Cmdlet versus opdracht

Get-opdracht: Krijg informatie over alles waarop een beroep kan worden gedaan

Powershell-scriptvoorbeeld: om een ​​lijst met cmdlets te genereren, functies die op uw machine zijn geïnstalleerd

Get-Command

Cmdlet versus opdracht

Ontvang service: Vindt alle cmdlets met het woord 'service' erin.

Voorbeeld: alle services ophalen die beginnen met 'vm'

Get-Service "vm*"

Cmdlet versus opdracht

Lid worden: Laat zien wat je met een voorwerp kunt doen

Voorbeeld: leden van de VM-processen ophalen.

Get-Service "vm*" | Get-Member

Cmdlet versus opdracht

Andere opdrachten:

  • Module ophalen Toont pakketten met opdrachten
  • Inhoud ophalen Deze cmdlet kan een bestand nemen en de inhoud ervan verwerken en er iets mee doen
  • Get- get Vindt alle cmdlets die beginnen met het woord 'get-

Voorbeeld: maak een map

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

Output:

Cmdlet versus opdracht

Powershell-gegevenstypen

Powershell-gegevenstypen
Powershell-gegevenstypen

Speciale variabelen

Speciale variabele Beschrijving
$Fout Een array met foutobjecten die de meest recente fouten weergeven
$Host Geef de naam van de huidige hostingtoepassing weer
$Profiel Slaat het volledige pad van een gebruikersprofiel op voor de standaardshell
$PID Slaat de procesidentificatie op
$PSUICultuur Het bevat de naam van de huidige UI-cultuur.
$NUL Bevat een lege of NULL-waarde.
$Onwaar Bevat FALSE-waarde
$Waar Bevat TRUE-waarde

PowerShell-scripts

Powershell-scripts worden opgeslagen in een .ps1-bestand. Standaard kunt u een script niet uitvoeren door gewoon op een bestand te dubbelklikken. Dit beschermt uw systeem tegen onbedoelde schade. Om een ​​script uit te voeren:

Stap 1: klik er met de rechtermuisknop op en klik op 'Uitvoeren met PowerShell'.

PowerShell-scripts

Bovendien is er een beleid dat de uitvoering van scripts beperkt. U kunt dit beleid zien door de opdracht Get-ExecutionPolicy uit te voeren.

U krijgt een van de volgende uitvoer:

  • Beperkt— Er zijn geen scripts toegestaan. Dit is de standaardinstelling, dus deze wordt de eerste keer weergegeven wanneer u de opdracht uitvoert.
  • Allemaal ondertekend— U kunt scripts uitvoeren die zijn ondertekend door een vertrouwde ontwikkelaar. Met behulp van deze instelling zal een script om bevestiging vragen dat u het wilt uitvoeren voordat het wordt uitgevoerd.
  • RemoteSigned— U kunt uw scripts uitvoeren die zijn ondertekend door een vertrouwde ontwikkelaar.
  • Onbeperkt— U kunt elk script uitvoeren dat u wilt uitvoeren

Stappen om het uitvoeringsbeleid te wijzigen

Stap 1) Open een verhoogde PowerShell-prompt. Klik met de rechtermuisknop op PowerShell en "Als administrator uitvoeren"

PowerShell-scripts

Stap 2) Voer de volgende opdrachten in

  1. Get-ExecutionPolicy
  2. Set-uitvoeringsbeleid onbeperkt
  3. Voer Y in de prompt in
  4. Get-ExecutionPolicy

PowerShell-scripts

Eerste PowerShell-script

Schrijf de volgende opdracht in een kladblok

Write-Host "Hello, Guru99!"

PowerShell-scripts hebben de extensie ps1. Sla het bestand op als FirstScript.ps1

Eerste PowerShell-script

Roep in Powershell het script aan met de opdracht

& "X:\FirstScript.ps1"

Eerste PowerShell-script

Wat is PowerShell ISE?

De Windows PowerShell Integrated Scripting Environment (ISE) is de standaardeditor voor Windows PowerShell. In deze ISE kunt u opdrachten, schrijvertests en foutopsporingsscripts uitvoeren in een GUI-omgeving in een vensterbasis. U kunt bewerkingen op meerdere regels uitvoeren, syntaxiskleuren, tabbladen aanvullen, selectieve uitvoering en nog veel meer.

Windows PowerShell ISE biedt u ook de mogelijkheid om opdrachten uit te voeren in een consolepaneel. Het ondersteunt echter ook panelen die u kunt gebruiken om tegelijkertijd de broncode van uw script en andere tools te bekijken die u in de ISE kunt pluggen.

U kunt zelfs meerdere scriptvensters tegelijk openen. Dit is met name handig wanneer u een script debugt dat functies gebruikt die in andere scripts of modules zijn gedefinieerd.

PowerShell-ISE

PowerShell-ISE

Hetzelfde script dat we in Kladblok hebben gemaakt, kan in ISE worden gemaakt

  1. Plak de code in de editor
  2. Script opslaan
  3. Gebruik F5 om het script uit te voeren
  4. Observeer de uitvoer in de console

PowerShell-ISE

Voorbeeld 2:

De volgende code geeft de gratis Virtueel geheugen in uw machine

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

PowerShell-ISE

PowerShell Concepts

In deze Powershell-zelfstudie voor beginners leren we over belangrijke Powershell-concepten:

cmdlets Cmdlet zijn build-opdrachten geschreven in .net-talen zoals VB of C#. Hiermee kunnen ontwikkelaars de set cmdlets uitbreiden door PowerShell-modules te laden en te schrijven.
Functies Functies zijn opdrachten die zijn geschreven in de PowerShell-taal. Het kan worden ontwikkeld zonder andere IDE-achtige te gebruiken Visual Studio en ontwikkelaars.
Scripts Scripts zijn tekstbestanden op schijf met de extensie .ps1
Toepassingen Applicaties zijn bestaande Windows-programma's.
Wat als Geeft de cmdlet opdracht om niet uit te voeren, maar om u te vertellen wat er zou gebeuren als de cmdlet zou worden uitgevoerd.
Bevestigen Instrueer de cmdlet om te vragen voordat u de opdracht uitvoert.
breedsprakig Geeft een hoger detailniveau.
Debug Geeft de cmdlet opdracht om foutopsporingsgegevens op te geven.
FoutActie Geeft de cmdlet opdracht om een ​​specifieke actie uit te voeren wanneer er een fout optreedt. Toegestane acties gaan door, stoppen, gaan in stilte door en informeren.
Foutvariabele Het specificeert de variabele die foutinformatie bevat.
Uitvariabel Vertelt de cmdlet dat hij een specifieke variabele moet gebruiken om de uitvoergegevens vast te houden
UitBuffer Geeft de cmdlet opdracht om het specifieke aantal objecten vast te houden voordat de volgende cmdlet in de pijplijn wordt aangeroepen.

Voordelen van het gebruik van PowerShell-script

  • PowerShell-scripts zijn erg krachtig en kunnen veel dingen in minder regels doen.
  • Variabelen worden gedeclareerd in de vorm $
  • Variabelen kunnen worden gebruikt om de uitvoer van opdrachten, objecten en waarden vast te houden.
  • “Type” van een variabele hoeft niet te worden gespecificeerd.

PowerShell versus. Opdrachtprompt

PowerShell Command Prompt
PowerShell is diep geïntegreerd met de Windows Besturingssysteem. Het biedt een interactieve opdrachtregelinterface en scripttaal. Opdrachtprompt is een standaard opdrachtregelinterface die wordt aangeboden door Microsoft. Het is een eenvoudige win32-applicatie die kan communiceren en praten met alle win32-objecten in de Windows besturingssysteem.
PowerShell maakt gebruik van zogenaamde cmdlets. Het kan worden aangeroepen in de runtime-omgeving of in de automatiseringsscripts. Dergelijke functies worden niet aangeboden via de opdrachtprompt.
PowerShell beschouwt ze als objecten. De uitvoer kan dus via de pijplijn worden doorgegeven als invoer aan andere cmdlets. Opdrachtprompt of zelfs de *nix-shell, de uitvoer die door een cmdlet wordt gegenereerd, is niet alleen een tekststroom, maar een verzameling objecten.
De PowerShell is zeer geavanceerd wat betreft functies, mogelijkheden en innerlijke werking. De opdrachtprompt is erg eenvoudig.

Toepassingen van Powershell

PowerShell is tegenwoordig een ideale keuze voor IT-beheerders, omdat het de beheersoperatie en -inspanning in grote bedrijfsnetwerken vereenvoudigt. Stel bijvoorbeeld dat u een groot netwerk beheert met meer dan vierhonderd servers. U wilt nu een nieuwe beveiligingsoplossing implementeren. Deze beveiligingsoplossing is afhankelijk van een bepaalde service die op die servers moet worden uitgevoerd.

U kunt zeker bij elke server inloggen en kijken of die service is geïnstalleerd en actief is of niet. Er zijn echter zeker veel menselijke fouten nodig, aangezien uw personeel veel tijd aan dit niet-productieve proces moet besteden.

Als u echter PowerShell gebruikt, kunt u deze taak in slechts een paar minuten voltooien. Dat komt omdat de hele operatie wordt uitgevoerd met één script dat informatie verzamelt over de services die op de servers draaien.

Samenvatting

  • Windows PowerShell is een objectgeoriënteerde automatiseringsengine en scripttaal
  • Powershell biedt een goed geïntegreerde opdrachtregelervaring voor het besturingssysteem
  • PowerShell eerste versie 1.0 werd uitgebracht in 2006
  • Met PowerShell kunnen scripts en cmdlets worden aangeroepen op een externe machine
  • PowerShell is vooraf geïnstalleerd in alle nieuwste versies van Windows
  • Een cmdlet is een lichtgewicht opdracht die wordt gebruikt in de Windows-basis PowerShell-omgeving
  • Get, Start, Out, Stop, Set, New zijn belangrijke PowerShell-opdrachten
  • Boolean, Byte, Chat, Decimal, Decimal, Long zijn belangrijke gegevenstypen van PowerShell
  • $Fout. $Host, $Profile, $PID, $PSUICulture, $NULL zijn enkele speciale variabelen die in PowerShell worden gebruikt
  • De Windows PowerShell Integrated Scripting Environment (ISE) is de standaardeditor voor PowerShell
  • PowerShell is diep geïntegreerd met de Windows OS, terwijl de opdrachtprompt een standaard opdrachtregelinterface is die wordt aangeboden door Microsoft
  • PowerShell is een ideale keuze geworden voor IT-beheerders, omdat het de beheersactiviteiten en -inspanningen in grote bedrijfsnetwerken vereenvoudigt