I det här avsnittet ska vi titta närmare på hur PowerShell hanterar objekt och hur du kan undersöka deras egenskaper och metoder i praktiken. När du kör kommandon i PowerShell returneras ofta objekt snarare än enkel text. Det betyder att du kan arbeta direkt med datan – filtrera, sortera, eller skicka den vidare till andra cmdlets – istället för att behöva tolka textsträngar som i äldre kommandotolkare.
Med hjälp av cmdlet Get-Member kan du utforska vilken information ett objekt innehåller och vilka åtgärder som kan utföras på det. I exemplen nedan ser du hur Get-Member används tillsammans med olika objekt – som strängar, processer, applikationer och filer – samt hur pipen (|) används för att skicka data mellan kommandon på ett effektivt sätt.
Vad är en ”pipe” (|) i PowerShell?
En pipe (|) används för att skicka utdata från ett kommando vidare till ett annat kommando. Man kan tänka på det som en rörledning där data flödar från vänster till höger. Detta gör det möjligt att kombinera flera cmdlets och utföra komplexa operationer med enkla kommandokedjor.
Exempel på hur objekt kan hanteras i PowerShell
Exempel 1 – Med en sträng (text)
PS C:\> $myString = "Hello PowerShell!" PS C:\> $myString | Get-Member
Utdata: En lång lista med metoder och en egenskap (Length).
Om du endast vill visa egenskaper:
PS C:\> $myString | Get-Member -MemberType Property
Utdata: Length
Exempel 2 – Med processer
PS C:\> Get-Process | Get-Member
Utdata: En lång lista med egenskaper och metoder för de processer som körs på systemet.
Om du bara vill se metoderna:
PS C:\> Get-Process | Get-Member -MemberType Method
Utdata: En kortare lista med metoder som kan användas för att hantera processer.
Exempel 3 – Med en specifik applikation (t.ex. Notepad)
PS C:\> $myProcess = Get-Process -Name "notepad"
Utdata: Ingen synlig utmatning, men information om processen notepad lagras i variabeln $myProcess.
PS C:\> $myProcess
Utdata: Visar processinformationen som lagrats i variabeln.
PS C:\> $myProcess | Get-Member
Utdata: En lista med alla egenskaper och metoder som hör till Notepad-processen.
Exempel 4 – Omdirigering av resultat till fil
PS C:\> Get-Process | Out-File -Path "C:\PShell\ProcessOnMySystem.txt"
Utdata: Ingen synlig utmatning, men PowerShell skapar en textfil med en lista över alla aktiva processer i systemet.
För att visa innehållet i filen:
PS C:\> Get-Content "C:\PShell\ProcessOnMySystem.txt"
Utdata: Flera kolumner med information om processerna.
Exempel 5 – Visa information om en fil
PS C:\> $myFile = Get-Item -Path "C:\PShell\ProcessOnMySystem.txt"
Utdata: Ingen direkt utmatning, men information om filen lagras i variabeln $myFile.
För att visa vissa egenskaper och sedan utforska dem:
PS C:\> $myFile | Select-Object -Property Name, Length | Get-Member
Utdata: En tabell som visar filens metoder och egenskaper, till exempel Namn och Längd.