Articles

Hva er PowerShell?

  • 05/22/2020
  • 5 minutter på å lese
    • j
    • s
    • s

PowerShell er en cross-platform oppgave automatisering og configuration management framework, som består ofa kommandolinjeskall og skriptspråk. I motsetning til de fleste skjell, som aksepterer og retur tekst,PowerShell er bygget på toppen av den .NET CLR (Common Language Runtime), og aksepterer og avkastning .NETobjects., Denne fundamentale endringen gir helt nye verktøy og metoder for automatisering.

Output er objekt-basert

i Motsetning til tradisjonelle kommandolinje-grensesnitt, PowerShell-cmdleter er utformet for å håndtere gjenstander.Et objekt er strukturert informasjon som er mer enn bare en streng med tegn som vises på thescreen. Kommandoen utgang alltid bærer ekstra informasjon som du kan bruke hvis du trenger det.

Hvis du har brukt tekst-prosessering verktøy til å behandle data i fortiden, vil du finne at de behavedifferently når det brukes i PowerShell., I de fleste tilfeller trenger du ikke tekst-prosessering verktøy for å extractspecific informasjon. Du har direkte tilgang til deler av data ved hjelp av standard PowerShell objectsyntax.

– kommandoen familie er extensible

Grensesnitt som cmd.exe ikke gir en måte for deg å direkte utvide den innebygde commandset. Du kan opprette eksterne command-line verktøy som kjører i cmd.exe. Men disse eksterne toolsdon ikke-tjenester, for eksempel med Hjelp til integrering. cmd.exe ikke automatisk vet at theseexternal verktøy er gyldige kommandoer.,

kommandoer i PowerShell er kjent som cmdlets. Du kan bruke hver cmdlet separat, men theirpower er realisert når du kombinerer dem til å utføre komplekse oppgaver. Som mange skjell, PowerShell givesyou tilgang til filsystemet på datamaskinen. PowerShell tilbydere gir deg tilgang otherdata butikker, for eksempel registeret og sertifikatet butikker, like enkelt som du får tilgang til filsystemet.

Du kan lage din egen cmdlet og funksjon moduler ved hjelp av kompilert kode eller skript. Modulene kan addcmdlets og leverandører til shell., PowerShell har også støtte for skript som er analoge til UNIXshell skript og cmd.exe batch-filer.

Støtte for kommando aliaser

PowerShell støtter aliaser for å se kommandoer ved alternative navn. Aliasing tillater brukere withexperience i andre skjell til å bruke felles kommando navn som de allerede kjenner, for similaroperations i PowerShell.

Aliasing associates et nytt navn med en annen kommando. For eksempel, PowerShell har en internalfunction navnet Clear-Host som fjerner output-vinduet., Du kan enten skrive cls ellerclear alias ved en ledetekst. PowerShell tolker disse aliaser og kjørerClear-Host funksjon.

Denne funksjonen hjelper brukere med å lære PowerShell. Først, de fleste cmd.exe – og Unix-brukere har en largerepertoire av kommandoer som brukerne allerede kjenner ved navn. PowerShell-ekvivalenter kan ikke produceidentical resultater. Men resultatene er nær nok til at brukere kan arbeide uten å vite thePowerShell kommando navn., «Muscle memory» er en annen viktig kilde til frustrasjon når man lærer et newcommand shell. Hvis du har brukt cmd.exe for år, kan du automatisk type cls kommando toclear skjermen. Uten alias for Clear-Host, får du en feilmelding, og du vil ikke knowwhat å gjøre for å fjerne utgang.

PowerShell håndterer konsollen input og skjerm

Når du skriver inn en kommando, PowerShell alltid prosesser kommando-linje-inngang direkte. PowerShellalso output formater som du ser på skjermen., Denne forskjellen er viktig fordi itreduces arbeidet som kreves av hver cmdlet. Det sikrer at du kan alltid gjøre ting på samme waywith noen cmdleten. Cmdlet-utviklere ikke trenger å skrive kode for å analysere kommandolinje-argumenter orformat output.

Tradisjonell command-line verktøy har sine egne ordninger for å be om og vise Hjelp. Somecommand-line verktøy for bruk /? for å utløse Hjelpe vises, mens andre bruker -?, /H, eller//., Noen vil vise Hjelpen i en GUI-vinduet, snarere enn i konsollen vise. Hvis du bruker thewrong parameter, verktøyet kan ignorere hva du har skrevet og begynne å utføre en oppgave automatisk.Siden PowerShell automatisk analyserer og prosesser kommandolinjen, -? parameter alwaysmeans «vis meg Hjelpe for denne kommandoen».

Merk

Hvis du kjører et grafisk program i PowerShell vinduet for programmet åpnes.PowerShell griper bare ved behandling av kommando-linje-inngang du levere eller applicationoutput tilbake til konsollen vinduet., Det påvirker ikke hvordan programmet fungerer internt.

PowerShell har en rørledning

Rørledninger er uten tvil den mest verdifulle begrepet brukes i kommandolinje-grensesnitt. Når usedproperly, rørledninger redusere innsatsen for å bruke komplekse kommandoer og gjøre det lettere å se flowof arbeid. Hver kommando i en rørledning som går sin produksjon, element for element, til neste kommando. Commandsdon ikke å håndtere mer enn ett element om gangen. Resultatet er redusert forbruk andthe muligheten til å få utgang umiddelbart.,

Den notasjonen som brukes for rørledninger er lik den notasjonen som brukes i andre skjell. Ved første øyekast, itmay ikke bli synlig hvordan rørledninger er forskjellige i PowerShell. Selv om du se teksten på skjermen,PowerShell rør objekter, ikke teksten, mellom kommandoer.,

For eksempel, hvis du bruker Out-Host cmdlet for å tvinge en side-ved-side-visning av utgang fromanother kommando, produksjonen ser ut akkurat som vanlig tekst som vises på skjermen, brutt opp intopages:

Get-ChildItem | Out-Host -Paging

Personsøker også reduserer CPU-bruk på grunn prosessering overføringer til Out-Host cmdlet når ithas en komplett side klar til å vise. Cmdlets som er forut for den i rørledning pause executionuntil den neste siden i utskriften er tilgjengelig.,

Objekter i rørledningen

Når du kjører en cmdlet i PowerShell, kan du se tekst-utgang fordi det er nødvendig å representobjects som tekst i konsoll vinduet. Teksten utgang kanskje ikke kunne vise alle egenskapene til theobject være utgang.

For eksempel, tenk deg Get-Location cmdleten. Teksten utgang er et sammendrag av informasjon, ikke acomplete representasjon av objektet returnert av Get-Location. Overskriften i utskriften er addedby prosessen som formaterer data for skjermvisningen.,

Get-Location
Path----C:\

Rør den ut til Get-Member cmdlet viser informasjon om objektet returnert avGet-Location.

Get-Location | Get-Member

Get-Location returnerer en PathInfo-objekt som inneholder den aktuelle banen og annen informasjon.

Innebygde hjelp-system

Tilsvarende Unix man sider, PowerShell inneholder detaljert hjelp-artikler som forklarer PowerShellconcepts og kommandosyntaks., Bruker cmdleten Get-Help for å vise disse artiklene på commandprompt eller vise de sist oppdaterte versjoner av disse artiklene i PowerShell documentationonline.

for Å lære mer om PowerShell, kan du se Lære PowerShell delen av dette området.