Juni 21, 2022

10 enkle PowerShell-kommandoer som alle Windows-brukere bør vite

PowerShell gir deg all kontrollen du trenger over din Windows-PC, og det er enkelt å lære. Så grøft Ledetekst og bruk Windows PowerShell-kommandoer for å automatisere disse repeterende administrative oppgavene. 

Å lære PowerShell vil også lære deg hvordan du håndterer det meste Linux administrative oppgaver i bash-skallet. PowerShell ligner på det du finner i de fleste Linux Distros

Hva er PowerShell?

Windows PowerShell er et kommandolinjegrensesnitt og skriptspråk utviklet av Microsoft for systemadministratorer. Men du trenger ikke å være administrator eller programmerer for å bruke det fordi det er mye enklere enn andre programmeringsspråk. Det ligner på vanlig engelsk, og alle kan forstå det og bruke det til å administrere datamaskinene sine.

Kommandoene som brukes i Windows PowerShell er kjent som "cmdlets." De lar deg aktivere en spesifikk handling, eller serie av handlinger, på datamaskinen din. Disse handlingene kan være enkle, som å logge på et trådløst nettverk, eller mer komplekse, som å automatisere spesifikke repeterende oppgaver. 

For å åpne PowerShell, trykk på Start knapp, skriv "PowerShell" inn i søkefeltet, og velg Windows Powershell. Du åpner kommandolinjegrensesnittet, hvor du er klar til å begynne å skrive kommandoer.

I denne artikkelen skal vi gå over ti av de mest nyttige og enkle PowerShell-kommandoene.

1. Få hjelp

Get-Help-cmdleten er et flott sted å starte i PowerShell. Den gir en oversikt over hva du kan gjøre og er også flott når du trenger mer informasjon om en bestemt cmdlet. 

Bare åpne PowerShell-vinduet og skriv Få hjelp. Dette vil åpne for en omfattende oversikt som vil lære deg hva PowerShell er, og du vil forstå funksjonaliteten og strukturen. Du kan også få tilgang til nettet for mer avanserte hjelpefiler direkte gjennom grensesnittet. Du kan laste ned disse filene for senere bruk. 

Men det er ikke slutten på get-help-kommandoen. Type: 

Få hjelp * 

PowerShell vil liste opp alle cmdletene du kan bruke i det øyeblikket. Listen vil sannsynligvis være enorm, og du trenger ikke å lære alle de viste cmdletene. Men les dem gjerne og utforsk alle mulighetene som er tilgjengelige for deg.

Type:

Få hjelp

Du trenger ikke parentesene, bare skriv inn navnet på kommandoen du er interessert i, og denne cmdleten vil gi deg grunnleggende informasjon om den. For en enda mer detaljert forklaring av en kommando, skriv inn:

Få hjelp -Full

Hvis du trenger et eksempel på hvordan du bruker en bestemt kommandotype:

Få hjelp -Eksempel

2. Hent-kommando

Ønsker du å hente informasjon om en bestemt kommando, eller sett med kommandoer, raskt? Get-Command-cmdleten vil gjøre det for deg. Det er så mange alternativer innenfor Get-Command, men du, som en grunnleggende bruker av PowerShell, trenger ikke de fleste av dem. Her er noen grunnleggende cmdlets som vil være nyttige, spesielt når du navigerer de tilgjengelige kommandoene.

Hvis du vil ha en liste over spesifikke cmdlets av samme type:

Hent-kommando -

For eksempel vil denne komplekse setningen beordre datamaskinen din til å vise en liste over alle tilgjengelige kommandoer av cmdlet-type og sortere dem i alfabetisk rekkefølge av substantivet i navnet:

Get-Command -Skriv Cmdlet | Sort-Objekt -Egenskapssubstantiv| Format-Tabell -GruppeBy Substantiv

Dette er et utmerket eksempel på en mer kompleks kommando som vil få PowerShell til å utføre en komplisert oppgave. Når du forstår syntaksen, vil du se at bruk av PowerShell ofte er den raskeste og enkleste for å få gjort noen ting på datamaskinen din.

Hvis du vil finne en bestemt kommando ved navn, skriv ganske enkelt:

Get-Command -Name

Hvis du ikke vet det nøyaktige navnet på kommandoen du leter etter, men du kjenner en del av navnet, kan du skrive: 

Get-Command -Name -Bruk FuzzyMatching

Denne cmdleten vil gi datamaskinen i oppgave å finne kommandoer som stemmer godt overens med det du skrev inn felt. Du kan også bruke denne cmdleten hvis du er utsatt for feilstavinger og ikke ønsker å bli plaget med å korrigere deg selv hele tiden.

3. Hent-innhold

Hvis du vil se innholdet i en fil, bruk Get-Content-cmdleten. Du må spesifisere den nøyaktige plasseringen av filen slik at datamaskinen kan finne den.

I eksemplet ovenfor kan du se innholdet i en testtekstfil laget for dette formålet. Dette er en enkel kommando, men hvis du vet hva den gjør, kan du kombinere den med andre kommandoer og utføre virkelig kraftige oppgaver gjennom Windows PowerShell.

4. Få-prosess

Get-Process cmdleten vil gi deg informasjon om prosesser som kjører på datamaskinen din. Du kan se minnebruk, CPU-sykluser, prosess-ID og andre attributter. 

Hvis du legger til navnet på prosessen i denne cmdleten, kan du se informasjonen om en bestemt prosess. Hvis du for eksempel vil ha informasjon om Discord-søknadsprosessen, skriv ganske enkelt Get-Process Discord.

Du kan starte eller stoppe prosesser gjennom PowerShell ved ganske enkelt å erstatte "Get"-prefikset til syntaksen. For å starte en prosess, skriv inn:

Start-prosess  

For å stoppe en prosess, skriv:

Stopp-prosess

5. Få-service

Som systemadministrator kan du finne Get-Service-cmdleten veldig nyttig. Denne enkle cmdleten vil vise alle tjenestene som kjører på systemet ditt og lar deg kontrollere dem. Dette betyr at du kan se alle programmene som jobber for å få datamaskinen til å kjøre. 

Nå kan du bruke tjenestenavnet til å kontrollere det. Bruk kommandoer som f.eks Restart-Service å løsne de frosne, Stopp-tjeneste å stoppe dem helt, og start-tjeneste for å starte dem på nytt.

6. Get-Item

Hvis du trenger et spesifikt element, kan det være raskere å finne det gjennom PowerShell enn ved å bruke en søkelinje integrert i operativsystemet ditt. Det er spesielt praktisk hvis du vet hvor filen du trenger. Bare bruk kommandoen på denne måten:

Hent-element C:

Dette vil gi deg listen over filer på "C:"-harddisken. Du kan være enda mer spesifikk og søke i alle katalogene under brukerens profil eller gå dypere inn i "dokumenter" eller "nedlastinger". For å gjøre dette, skriv:

Get-Tem C:brukere *

Hvis du trenger å hente et underordnet element fra en beholder, for eksempel en systemkatalog, kan du bruke cmdleten Get-ChildItem. Denne kommandoen vil vise deg alle filene og katalogene i den beholderen. Som med Get-Item cmdleten, må du spesifisere containerens bane.

For å slette elementer kan du erstatte «Hent»-suffikset med «Fjern». Dette vil tillate deg å slette alt, fra filer og mapper til registernøkler og funksjoner. Type Fjerne gjenstand. Du kan utdype denne cmdleten og bare slette skjulte og "skrivebeskyttede" filer eller slette elementer fra bestemte mapper og undermapper.

7. Konverter til HTML

Denne kommandoen hjelper deg med å konvertere et .NET-objekt til en HTML-fil som kan vises i nettlesere. Dette er en utgangs-cmdlet som betyr at den fungerer utmerket med andre cmdlets. Bare legg den til på slutten av andre cmdlets og ta med en bestemt filbane. 

Hvis du for eksempel vil lage en HTML-fil som viser navnet, banen og selskapet til alle gjeldende prosesser på en lokal datamaskin, skriv inn: 

Få-prosess | ConvertTo-Html -Egenskapsnavn, bane, firma -Tittel "Prosessinformasjon" | Ut-fil filnavn.htm

Erstatt filnavn.htm med hvilket filnavn du ønsker.

For å åpne den opprettede filen, bruk Invoke-Item cmdlet i tillegg til . Innholdet skal se omtrent ut som bildet nedenfor.

8. Set-Execution Policy

Hvis du vil kjøre lokale PowerShell-skript, må du endre utførelsespolicyen til selve PowerShell. På Windows-datamaskiner er utførelsespolicyen alltid begrenset, og du må endre den til Remote Signed eller Unrestricted. På datamaskiner som ikke er Windows, som Linux eller Mac, er den vanligvis satt til Ubegrenset, og den kan ikke endres. 

Hvis du vil lære mer om PowerShell-utførelsespolicyen, skriv ganske enkelt inn:

hjelp Set-ExecutionPolicy

PowerShell vil vise hjelpefilene om utførelsespolicy på datamaskinen din eller varsle deg hvis det ikke finnes noen. Men den vil også gi deg en lenke som du kan følge og lese om på nettet.

For å sette policyen til RemoteSigned, skriv ganske enkelt:

Set-Executionpolicy Remote Signed

Slik setter du den til Ubegrenset type:

Set-Executionpolicy Ubegrenset

For å sjekke gjeldende innstilling for utførelsespolicyen, skriv inn: 

Get-Execution Policy

Fordi utførelsespolicyer er en del av PowerShells sikkerhetsstrategier, vil den be deg om bekreftelse på endringen. Type Y bare hvis du er sikker på at du vil fortsette.

9. Velg-Objekt

Denne kommandoen brukes til å velge objekter og sett med objekter, unike objekter og objekter i en bestemt posisjon i en matrise. Det er forskjellige parametere du kan bruke til å spesifisere objektene du vil velge. Blant dem er egenskaper, numeriske verdier og spesifikke inndataobjekter. 

For å velge objekter etter egenskapsattributt, må du spesifisere attributtene som navn, ID eller CPU. Du kan til og med gruppere attributtene, men du må skille dem med kommaer når du skriver inn kommandoen. For å se Select-Object-cmdleten i handlingstype:

Få-prosess | Velg-objekt -Prosessnavn, Id, CPU

PowerShell vil liste opp alle gjeldende prosesser og deres attributter, som vist nedenfor.

Du kan nå bruke kommandoen -EpandProperty for å få detaljert informasjon om det spesifikke attributtet. Hvis du vil ha detaljer om Modules-egenskapen for ProcessName-attributttypen:

Få-prosess Chrome | Select-Object -Property ProcessName -ExpandProperty Modules | Format-liste

"Format-liste"-utgangen til kommandoen er der for å gjøre resultatene formatert og lesbare.

10. Eksporter-CSV

Noen ganger resulterer PowerShell-kommandoene i lange lister, som vi så med Get-Command-cmdleten. Lange lister og mye informasjon er vanskelig å lese, og du vil ha det på en mer organisert måte. For å gjøre dette, eksporter alle dataene til en CSV-fil. Du kan gjøre dette direkte i PowerShell ved å bruke Eksport-CSV-funksjonen.

For eksempel så vi at cmdlet Get-Command gir oss en lang liste over alle tilgjengelige cmdlets vi kan bruke i PowerShell i det øyeblikket. Du kan kombinere Get-Command og Export-CSV for å lage en detaljert liste med kommadelte verdier som navn, kilde og versjon som apper som Excel kan gjenkjenne. 

For å gjøre dette, skriv inn følgende kommando i PowerShell-kommandoprompten, men merk at du kan angi hvilken som helst bane du vil, og du kan gi filen et annet navn:

Hent-kommando | Velg Navn, Kilde, Versjon | eksport-csv D:AllCommands.csv

Du kan nå åpne listen i Excel, og du bør se noe som ligner på følgende bilde.