Tilbake i en av de tidligere artiklene i denne serien, jeg listet opp flere spørsmål som jeg planla å svare i et forsøk på å hjelpe mine lesere til å oppnå ferdigheter i Windows Powershell. Her er en liste over spørsmål igjen.
Hvordan kan jeg hente informasjon om et objekt?
Hvorfor er det noen blokker av kode ikke ut til å være skrevet i Powershell?
Hvordan gjør Powershell script jobbe?
Kan jeg bruke variabler?
Hvordan Power funksjonene fungerer? trenger
Jeg har allerede besvart noen av spørsmålene fra listen, så i denne artikkelen vil jeg diskusjonen ved å svare på spørsmålet om hvorfor noen blokker av kode ser ut til å ikke være skrevet i Powershell for å fortsette.
Som du har sikkert allerede funnet ut, jeg bruker mye tid på å jobbe med Powershell. Selv om jeg definitivt vet min vei rundt Powershell, jeg noen ganger finner meg selv å besøke nettsteder som MSDN eller TechNet leter etter skript som kan brukes til å utføre forskjellige oppgaver. Tross alt, hvorfor finne opp hjulet om noen andre har allerede lagt ut en løsning på oppgaven.
Jeg må innrømme at de første gangene at jeg lastet ned en Powershell script fra TechNet, ble jeg litt tatt tilbake. Skriptene var bare vagt ligner Powershell (minst like jeg forstått Powershell syntaksregler). Jeg wasn ’. T engang helt sikker på at jeg var ute på Powershell koden
Det er faktisk en rekke forskjellige ting som kan føre til en blokk med Powershell-koden for å se mye forskjellig fra hva du har sett så langt i artikkelserien. Noen av de tingene som kan gjøre Powershell ser helt fremmed include:
Variables
Abbreviations
Operators
Comments
Scopes
I’m ikke kommer til å snakke om scopes i denne artikkelserien fordi scopes er en mer avansert emne (jeg har tenkt på til slutt å skrive en egen serie som dekker avansert scripting), og variabler kommer til å bli diskutert senere i denne serien. For akkurat nå skjønt, la ’ s. Ta en titt på forkortelser, operatører, og kommentarer
Kommentarer
Kommentarer er rett og slett linjer med lesbar tekst som er satt inn i en Powershell script for dokumentasjonsformål. En kommentar begynner alltid med et firkanttegn (#). Alt etter kommentaren er ignorert av Powershell. Kommentarer bare eksistere som en måte å dokumentere hva en script gjør. Her er et eksempel på et Powershell kommentar:
# Dette er en kommentarlinje
Forkortelser
Power forkortelser er rett og slett en måte å forkorte en Powershell cmdlet for å redusere. mengden skrive nødvendig. Jeg må innrømme at Powershell forkortelser er litt av en pet peeve for meg. Jeg nesten alltid foretrekker å skrive Powershell koden i lang skjemaet fordi jeg tror at dette resulterer i kode som er mer lesbar og lettere å forstå. Likevel, forkortelser er vanlig nok til at det hjelper å bli kjent med dem.
La meg vise deg et eksempel på hvordan en Powershell forkortelse fungerer. Anta for et øyeblikk at jeg ønsket å lage en liste over alle de virtuelle maskinene som finnes på en Hyper-V server og deretter formatere informasjon i tabellform. Jeg kunne utføre denne oppgaven med følgende kommando:
Get-VM | Format-Table
Get-VM delen av kommandoen henter listen over VMs. Det neste som du ser er symbolet rør (|). Røret symbolet brukes til å kombinere to cmdlets. Røret symbol fører til at produksjonen fra den første cmdlet å fungere som innspill til andre cmdlet. Så i dette tilfellet, tar vi produksjonen fra Get-VM cmdlet og bruke den som innspill til Format-Table cmdlet, som styrer hvordan den resulterende data vises. Du kan se hvordan dette ser ut som i figur A.
Figur A: Get-VM | Format-Table kommandoen lager en tabell som viser Hyper-V virtuelle maskiner
Så nå som jeg har vist deg hvordan Get-VM. | Format-Table kommandoen fungerer, la ’ s komme tilbake til diskusjonen om Powershell forkortelser. Format-Table cmdlet er ofte forkortet FT. Derfor kan kommandoen forkortes til:
Get-VM | FT
Som du kan se, knapt ligner forkortet kommandoen Powershell. Som du kan se i figur B, leverer forkortet kommandoen samme effekt som den lange formen kommandoen. Et annet eksempel er at Format-List er ofte forkortet til FL
Figur B: Get-VM |. Format-Table-kommandoen kan forkortes til Get-VM | FT.
Operatører
Operatører kan være en annen kilde til forvirring i Powershell. Operatører er sammenlignbare funksjoner som større enn, mindre enn, eller lik. Grunnen til at operatørene er noen ganger forvirrende er at de vanligste operatørene er uttrykt i en forkortet form
Operatørene som brukes innenfor Powershell er:.
NE (ikke lik)
GT (større enn)
GE (større enn eller lik)
LT (Less Than)
LE (Mindre enn eller lik To)
Like
NotLike
Match
NotMatch
Contains
NotContains
In
NotIn
Replace
Admittedly, noen av disse aktørene er mer vanlig enn andre De mest brukte operatører har en tendens til å være –. EQ, -NE, -GT, -GE, -Det, og –. LE
Siden operatører er slik en stor del av Powershell, ønsker jeg å ta et par minutter og viser deg hvordan noen av disse operatørene arbeid.
Power operatører blir brukt som et spørsmål. For eksempel kan du spørre om A er større enn B. Svaret er noen ganger Boolsk (True /False) eller det kan være numerisk. Powershell er vanligvis smart nok til å finne ut hvilken type svar er mest fornuftig.
Anta for eksempel at jeg ønsket å vite om 6 var større enn 8. kunne jeg stille spørsmålet som:
6 – GT 8
Powershell vil returnere et svar av falsk Nå antar at jeg ønsket å gi Powershell med en liste med tall. og deretter avgjøre hvilke av disse tallene var større enn 8. Jeg kunne bruke en kommando som dette:
6, 7, 8, 9 – GT 8
I dette tilfellet, Powershell ville gi meg et svar på ni i stedet for å gi meg en True /False svar. Du kan se et eksempel på dette i figur C.
Figur C: Powershell kan gi svar i ulike formater
Du kan også bruke stjernetegn symbol som et wildcard.. Dette pleier å være spesielt nyttig når det kommer til matching sammenligninger. Ta denne for eksempel:
« Windows Powershell ” – som “ * Strøm * ”.
I dette tilfellet ville det være en reaksjon av True
Du kan også behandle Som operatør som “ hvilken som er som ” operatør. Anta for eksempel at jeg ønsket å vite om ordet Windows eller ordet Powershell var som ordet Power. Jeg kunne finne ut ved hjelp av en kommando som dette:
« Windows ”, “ Powershell ” – som “ * Strøm * ”
Svaret bør være Powershell. Du kan se et eksempel på dette i figur D.
Figur D:. The Liker operatøren kan brukes til sammenligninger
Konklusjon
I denne artikkelen, jeg har forklart hvorfor noen blokker av kode kanskje ikke ser ut slik som du forventer Powershell koden skal vises. I neste artikkel i denne serien, vil jeg fortsette diskusjonen ved å vise deg hvordan variabler fungerer. Derfra vil vi gå videre til å bygge noen Powershell script.
Hvis du ønsker å bli varslet når Brien Posey utgivelser neste del av denne artikkelserien vennligst logg
opptil den WindowsNetworking.com Sanntid artikkelen oppdatering nyhetsbrev
.