Windows PowerShell er et kraftig program basert på .NET-rammeverket. Den er basert på PowerShell-kommandoer kalt cmdlets. Ved å kombinere dem i en bestemt rekkefølge kan du utføre nesten alle operasjoner fra et PowerShell-vindu. For å forklare hvordan de fungerer, har vi listet opp de mest grunnleggende PowerShell-kommandoene.
Godt å vite: Windows finner ikke "Powershell.exe"? Finn ut hva du skal gjøre for å få den tilbake.
Slik bruker du PowerShell-kommandoer
For å komme i gang med cmdlets, må du Kjør PowerShell på lademodus من Søk -meny.
Grunnleggende PowerShell-kommandoer
PowerShell i Windows er ikke bare et aktivt kommandolinjegrensesnitt, men også et skript- og programmeringsvindu som kan kjøre hvilken som helst applikasjon eller prosess du ønsker. Selv om det er flere hundre cmdlets, for å komme i gang, trenger du bare å lære de viktigste.
1. Clear-Host eller Cls
Gjorde jeg en stor feil mens jeg skrev, eller er det bare noe som ikke går som planlagt? Heldigvis er det mange oppgaver inne Kraftskall. kan bestilles klar vert Enkelt å fjerne all tekst fra skjermen. Bare skriv inn kommandoen på en hvilken som helst linje på skjermen, og alt vil forsvinne umiddelbart.
Du kan også bruke den enklere kommandoen klasse , som ofte brukes ved ledeteksten, med PowerShell. Disse to åpenbare tekstkommandoene kommer godt med når du får en feilmelding.
For å unngå skrivefeil i en ledetekst eller PowerShell-vindu, kopier og lim inn kommandoer for å forbedre effektiviteten.
2. Konverter til HTML
Å ha en stor streng med HTML er mye mer estetisk enn å se på rotete PowerShell-skjermbilder. Det er også nyttig når du trenger å dele skriptfeil og andre PowerShell-hendelser med ikke-tekniske teammedlemmer.
Alle PowerShell-komponenter bruker .NET-objekter som vi kan vise på en PowerShell-skjerm. For å vise dem i et fullstendig nettleservindu, bruk cmdleten Konverter til HTML. Nedenfor er et eksempel på visning av alle PowerShell-aliaser på nettet. Husk å bruke en egen linje før "Kall elementet".
Få-alias | Konverter til HTML | Out-File aliases.htm Invoke-Item aliases.htm
Når du har utført kommandoen convert HTML, vil PowerShell be deg om å åpne utdatafilen med et annet program. Bruk av nettleseren vil generere en liste over elementer, for eksempel aliaser.
3. Hent-kommando
Det er to grunnleggende typer kommandoer: aliaser og funksjoner. PowerShell-aliaser fungerer som et kallenavn for en funksjon eller cmdlet. Windows har lagret noen aliaser som standard, som du kan hente ved hjelp av Hent-kommando. Du kan også lage dine egne kallenavn.
Den andre kommandotypen i PowerShell er funksjoner. Disse bruker et avhengig verb (f.eks "få") og et enkelt navn (f.eks "StorageNode").
Vi bruker en funksjon "objektvalg" (merk kombinasjonen av verb og substantiv) med det som er kjent som miljøvariabelen datamaskinnavn for å vise det lokale datamaskinnavnet.
$env:datamaskinnavn | Velg-objekt
Funksjoner er utgangspunktet for avansert PowerShell-koding. Du kan bruke funksjoner, som å starte en prosess, med parametere og til variablerlag dine egne batch-skript, og utføre en rekke oppgaver.
4. Få hjelp
PowerShell har sin egen selvlærende feilsøkingscmdlet, Få hjelp , som viser alle hurtigreparasjoner og hjelpeartikler i ett vindu. Skriv inn kommandoen på slutten av en utgang for å hjelpe med de forskjellige modulene. Du må kanskje klikke videre Y For å tillate oppdaterte versjoner av hjelpeinnhold.
Det er mange alternativer for online hjelp Få hjelp. Hvis du for eksempel vil vite hva Get-operasjonen gjør og hva dens eksakte syntaks er, skriv inn følgende:
Få-hjelp Få-prosess
Tips: Bekymret for en keylogger som overvåker aktiviteten din på datamaskinen din? bli kjent med meg Hvordan oppdage keylogger på Windows.
5. Få-prosess
Få prosess Det er en grunnleggende PowerShell-kommando som planlegger hele listen over prosesser på din lokale maskin eller en ekstern datamaskin.
For mer detaljert informasjon om prosessen, må du spesifisere andre parametere, for eksempel prosessidentifikatoren (PID) eller prosessnavnet.
Det er flere spesifikke parametere du kan inkludere mens du spesifiserer hvilken prosess du skal finne:
- List opp prosesser ved å spesifisere filstørrelse i megabyte
- List opp prosesser basert på prioritet
- Finn eieren av prosessen
6. Få-service
Windows-datamaskinen din har mange programmer og prosesser som kjører. Mens du kan se dem direkte i Oppgavebehandling, er det enklere å se en fullstendig liste ved å bruke få-tjeneste , som du kan konvertere til HTML Seinere.
Husker du ikke det nøyaktige navnet på tjenesten du ber om? Du kan bruke jokertegn (*) Sammen med de få bokstavene du kan huske.
få-tjeneste "xyz*"
Noen av de vanlige taggene du jobber med inkluderer: Get-Service-DisplayName و -avhengige tjenester و -InputObject و -Nødvendige tjenester.
7. Install-modul eller Install-Script
PowerShell er et av de tryggere alternativene for å installere programvarepakker for Windows-programmer, som f.eks Microsoft-lag McAfee Security, Bing Translator og nyere Xbox-spill og så videre. For en fullstendig liste over støttede programmer i PowerShell for alle brukere, skriv inn:
Get-AppxPackage -AllUsers
Den beste måten er å søke etter pakken du vil ha i PowerShell Gallery, en one-stop-ressurs for de nyeste programvarepakkene. Når du er funnet, skriv inn en kommando, f.eks Installasjonsmodul أو Install-Script أو Installasjonspakke. Følgende forklarer hvordan du installerer et spill "Minesveiper".
Install-Script - Navn på Minesveiper
Vent noen sekunder eller minutter til pakken skal installeres gjennom PowerShell. Den vil være tilgjengelig senere på Windows.
En annen nyttig kommando er Finn-pakke, som søker etter en programvarepakke på datamaskinen eller på nettet.
Tips: Det kan du også Bruk Window Package Manager til å installere og oppdatere programvare.
8. mkdir, md, rmdir
mkdir er ikke en innebygd PowerShell-kommando. Det er imidlertid et mye brukt alias for det nye elementet for å lage kataloger, siden denne syntaksen er veldig vanlig i DOS og Linux. Når du bruker mkdir med et valgfritt navn, oppretter det en tom mappe.
mkdir "navnet på den tomme mappen din."
Få PowerShell til å peke på den nyopprettede mappen med en enkel cd-kommando.
cd "navnet på den nyopprettede mappen."
Den nyopprettede mappen er alltid plassert langs banen C:\Windows\System32, men du kan bruke CD til å peke til en annen mappe.
Du kan erstatte mkdir med md for samme formål som ovenfor. For å fjerne kataloginnhold, bruk kommandoen rmdir (fjern katalog):
rmdir "navnet på mappen med tomt innhold."
9. Ny vare
I motsetning til aliaser som mkdir og md, Ny gjenstand Det er den offisielle cmdleten som brukes i PowerShell for å lage nye elementer og angi verdiene deres. I tillegg til å lage filer og mapper, kan du bruke den til å lage registernøkler og -oppføringer.
- For å opprette en ny katalog ved hjelp av en kommando Ny gjenstand , Skrive:
Nytt element - Bane "Katalogbaneplassering\" -Navn "Navn etter eget valg" -Elementtype "katalog"
- Når du har opprettet en katalog, kan du plassere nye filer med et nytt element i den mappen.
New-item -path "Opprettet katalogbaneplassering\" -Navn "Filnavn.txt" -ItemType "file" -Verdi "sett inn hvilken som helst tekst du ønsker."
- Den nyopprettede filen finner du i målmappen.
10. Fjern-element
Vil du fjerne alle filer med filtype, for eksempel .TXT, .DOC, .PDF, .WMV, fra en mappe? Angi først den nøyaktige mappebanen med cd-en, og bruk deretter cmdleten Fjerne gjenstand Som vist under:
Remove-Item * -Include *(filtype) - Exclude *(enhver variabel eller tall)"
Metoden ovenfor er veldig nyttig for å finne og fjerne eventuelle skjulte eller skrivebeskyttede filer eller slette filer med spesialtegn.
Godt å vite: Har du problemer med å fjerne en fil fra datamaskinen? bli kjent med meg Hvordan tvinge sletting av filer som ikke kan slettes i Windows.
11. Sett-utførelsespolicy
Av sikkerhetshensyn har PowerShell sin egen utførelsespolicy som påvirker konfigurasjonsfiler, skript og andre parametere. Denne sikkerhetsfunksjonen kan implementeres ved hjelp av kommandoen Set-ecutionPolicy , sammen med en tag, som -makt , som overskriver eksisterende elementer. Følger syntaksen gitt nedenfor.
Set-ExecutionPolicy [-ExecutionPolicy] [[-Omfang] ] [-Makt] [-Hva om] [-Bekrefte] []
For eksempel, bruk kommandoen ser ut Set-ExecutionPolicy For å installere Chocolatey som koden nedenfor. Når den er utført, vil den offisielle Chocolatey-programvaren lastes ned og installeres på datamaskinen din.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
12. Velg-Objekt og Sorter-Objekt
Hvis mappen eller undermappen din inneholder mange filer og utvidelser, vil du kanskje sortere eller velge dem i stigende eller synkende rekkefølge basert på en forhåndsdefinert egenskap. Det er her cmdlets kan hjelpe deg Sorter-objekt و Velg-Object Omorganiser flere objekter samtidig.
Sortering og valg kan brukes på alle filer i forskjellige mapper samt prosesser på datamaskinen. Her er et eksempel på sortering og valg av de ti beste prosessene basert på størrelsen på arbeidssettet (WS) i megabyte.
få-prosess | Sorter-objekt-eiendom WS | Select-Object - Siste "Antall varer"
Du kan bruke sorter og velg på mange andre parametere, for eksempel historisk informasjon for forskjellige filer, sortere alle menyelementer i en notisblokkfil og sortere forskjellige hendelser på datamaskinen.
13. Start- og stopp-prosess
Enten du vil starte en ny prosess i Windows eller stoppe en eksisterende prosess, kan du raskt bruke PowerShell-cmdlets for å oppnå dette målet.
For raskt å avslutte en prosess, bruk Stop-Process cmdleten. Følgende eksempel viser hvordan du lukker en WordPad-prosess.
Stopp-prosess - Navn "Prosess eller applikasjonsnavn"
På samme måte, for å starte en ny applikasjon direkte fra et PowerShell-vindu, skriv start en prosess cmdlet og skiltet -F
ilePath.
Start-prosess - FilePath "Application name"
14. Suspend- og gjenoppta-tjeneste
I stedet for å starte eller stoppe en kjørende tjeneste, kan du suspendere den direkte. kommando Suspend-tjeneste Cmdleten er enkel å bruke og hjelper deg med å redusere RAM- og CPU-bruk av tjenester du ikke bruker for øyeblikket.
Merk: Du kan bruke Get-service for å få navnet på tjenesten som skal suspenderes.
Suspend-service -DisplayName "Service fullt navn"
Enhver avsluttet tjeneste kan gjenopptas senere med en kommando Gjenoppta-tjeneste grunnleggende. Hvis du ikke er sikker på hvilke tjenester du kan suspendere uten å påvirke systemet negativt, bruk følgende kommando:
Get-Service | Where-Object {$_.CanPauseAndContinue -eq "True"} | Suspend-Service-Confirm
15. Test-Path
Hvis du vil unngå å lage filbanefeil i programmering, må du sørge for at filbanen er syntaksnøyaktig. Selv om du alltid kan verifisere med File Explorer, er den mest nøyaktige måten å bekrefte dette på med en kommando Test-bane cmdlet , som ganske enkelt svarer "Ekte" أو "Falsk" Hvis en bestemt sti eksisterer.
Test-Path -Path "Path name"
Du kan endre kommandoen for å teste tilgjengeligheten til en bestemt fil, sjekke om registerbanen er nøyaktig, og finne ut om det er andre filer enn en bestemt filtype på datamaskinen.
16. Vente-prosess
Når mange prosesser kjører side om side, kan det være lurt å vente til en eller flere av dem er stoppet før du kan bruke dem igjen. Det kan hjelpe Vente-prosess cmdlet på en stor måte. Du kan spesifisere en tidsavbrudd som PowerShell vil vente før du dreper prosessen.
Vent-prosess -Navn "Prosessnavn, -Tidsavbrudd (i sekunder)
Andre grunnleggende PowerShell-kommandoer
Bortsett fra PowerShell-kommandoene nevnt ovenfor, er det også nyttig å kjenne til følgende cmdlets og funksjoner:
- Echo En cmdlet som brukes til å skrive ut en hvilken som helst verdi på en PowerShell-konsoll
- Gi få-vert Fullstendige detaljer om programvaren som er vert for PowerShell i Windows
- Test-JSON Det er en avansert cmdlet som brukes til å teste om en streng er et gyldig JSO-objekt
- spor Sporingskommando Uttrykket eller hele kommandoen for å finne parameterne og kodene den inneholder
- Skrive-utgang , som navnet antyder, gir utdata til den siste kommandoen i konsollvinduet.
Tips: Få fart med Disse legitime Windows-prosessene som kan se ut som skadelig programvare for å unngå å fjerne den fra systemet.
ofte stilte spørsmål
Q1: Hvordan løser jeg feilen "PowerShell-skript gjenkjennes ikke som cmdlet-navn"?
Svar: Hvis PowerShell ikke gjenkjenner navnet på cmdleten, kan det være fordi banevariabelen ikke er satt riktig. Rett opp eventuelle feil i banevariabelen ved Korriger den ugyldige mappebanen.
Q2: Hvordan fanger jeg opp en feilutgang som en variabel i PowerShell?
Svar: PowerShell har en feilvariabelparameter, $ErrorVariable , som er designet for å fange opp alle feilutdata når du legger inn ulike cmdlets. Kan brukes til feilsøking.