Geek School: Lære å bruke Cmdlets i PowerShell

Innholdsfortegnelse:

Geek School: Lære å bruke Cmdlets i PowerShell
Geek School: Lære å bruke Cmdlets i PowerShell

Video: Geek School: Lære å bruke Cmdlets i PowerShell

Video: Geek School: Lære å bruke Cmdlets i PowerShell
Video: How to Edit Your Custom Dictionary in Microsoft Word - YouTube 2024, April
Anonim
Hvis du har brukt ipconfig eller ping gjennom kommandoprompten, er du halvveis til å bli en PowerShell ninja. Så kom og bli med oss da vi oppdager cmdlets i denne installasjonen av Geek School.
Hvis du har brukt ipconfig eller ping gjennom kommandoprompten, er du halvveis til å bli en PowerShell ninja. Så kom og bli med oss da vi oppdager cmdlets i denne installasjonen av Geek School.

Pass på å sjekke ut vår første artikkel som introduserer PowerShell, og hold deg innstilt for resten av serien hele uken.

Anatomien til en Cmdlet

I den første delen av serien så vi en cmdlet som så ut slik:

Update-Help

PowerShell cmdlets har en Verb-Noun syntaks, som kan ses over. Det viktige å merke seg er at substantivet alltid er entall, selv om cmdletet kan returnere mer enn ett resultat. For å se en liste over juridiske verb i PowerShell kan du bruke Get-Verb cmdlet.

Image
Image

Å vite de juridiske verbene og huske singular substantivregelen hjelper virkelig å gjette cmdlet-navn. For eksempel, antar du vil en liste med tjenester og deres status - det er riktig, det er så enkelt som Get-Service. Hvordan tror du vi ville en liste over kjører prosesser - Det er riktig, Get-Process vil gjøre trikset.

Get-Process

Get-Mailbox

Det er imidlertid et unntak. Bytt til side, vil alle andre teknikkspesifikke kommandoer kreve et prefiks. For eksempel, hvis vi ønsket å få brukerne som for øyeblikket er logget på via Eksternt skrivebord, skriver vi:

Get-RDUserSession

Som kan ses på skjermbildet nedenfor.

Merk: Dette skjermbildet ble tatt på en Server 2012-boks som det er der du skal finne de fleste av de teknikkspesifikke modulene.

For en stund siden leste jeg en artikkel av Don Jones, Godfather of PowerShell, der han forklarte at Exchange sendt før dette prefikset ble lagt til cmdlets, så det implementerte dem aldri og vil aldri.
For en stund siden leste jeg en artikkel av Don Jones, Godfather of PowerShell, der han forklarte at Exchange sendt før dette prefikset ble lagt til cmdlets, så det implementerte dem aldri og vil aldri.

aliaser

En annen funksjon som PowerShell kommer med, er muligheten til å ha flere måter å kjøre de samme kommandoaliasene, hvis du vil. Den fantastiske tingen om dem er at de inkluderte mange kommandoer du kanskje hadde brukt i kommandoprompten, så vel som noen Linux-aliaser. I PowerShell kan vi for eksempel få en katalogoppføring ved å bruke:

Get-ChildItem

Brukes til å bruke kommandoprompten? Ikke bekymre deg, de har dekket deg.
Brukes til å bruke kommandoprompten? Ikke bekymre deg, de har dekket deg.
Har du en Linux-bakgrunn? De har du dekket der også.
Har du en Linux-bakgrunn? De har du dekket der også.

Get-Alias –Name ls

På den annen side, hvis du føler at det er på tide å styre spillet ditt, kan du bruke definisjonsparameteren til å få alle alias for en cmdlet:
På den annen side, hvis du føler at det er på tide å styre spillet ditt, kan du bruke definisjonsparameteren til å få alle alias for en cmdlet:

Get-ChildItem –Definition Get-ChildItem

Hvis du kommer fra en annen bakgrunn, kan du legge til dine egne aliaser ved å gjøre følgende:
Hvis du kommer fra en annen bakgrunn, kan du legge til dine egne aliaser ved å gjøre følgende:

New-Alias –Name icanhazfilez –Value Get-ChildItem

Selvfølgelig må du erstatte "icanhazfilez" med navnet på ditt nye alias og Get-ChildItem med cmdletet du vil at den skal løpe under hetten.

En ting å merke seg er at du mister alle aliasene du har definert når du lukker skallet. Du kan komme seg rundt ved å legge til definisjonen i profilskriptet ditt.
En ting å merke seg er at du mister alle aliasene du har definert når du lukker skallet. Du kan komme seg rundt ved å legge til definisjonen i profilskriptet ditt.

Trunkering Parametre

Windows PowerShell lar deg også avkorte parameternavn til det punktet de blir tvetydige, det vil si til det punktet der PowerShell ikke lenger kan finne ut hvilken parameter du snakker om. For eksempel:

Get-Service -Name ‘Apple Mobile Device’ -ComputerName localhost

Er det samme som:
Er det samme som:

Get-Service -Na ‘Apple Mobile Device’ -Com localhost

Hvis du ved en tilfeldighet gjør parametrene navnene for tvetydige, vil du få en feil.
Hvis du ved en tilfeldighet gjør parametrene navnene for tvetydige, vil du få en feil.

Legacy Commands

Til slutt vil de kommandoene du kjenner og elsker, fortsatt fungere i PowerShell.

ping www.google.com

Anbefalt: