Powershell Essentials (del 9)

Da jeg pakket opp min forrige artikkel i denne serien, nevnte jeg at en av de mest effektive måter å låse den sanne potensialet i Powershell er å fordype deg i .NET. Tradisjonelt har .NET vært domenet til utviklere og er noe som systemadministratorer sjelden, om noensinne å røre. Likevel er det verdt å lære litt om .NET fordi dette vil gjøre en dramatisk forskjell i hva du kan gjøre med Powershell.

Før jeg i gang, la meg presisere at jeg ikke er en profesjonell utbygger . Don ’ t misforstå. Jeg kan skrive kode. Det ’ s bare at jeg don ’ t gjøre utvikling for en levende og det meste av koden som jeg har skrevet trolig bryter en rekke etablerte beste praksis. Jeg vet hvordan å få jobben gjort, men min kode vanligvis isn ’. T ganske

Grunnen til at jeg forteller deg dette er å forsikre deg om at jeg ikke er i ferd med å hoppe rett inn i den velkjente avgrunnen, og anta at du vet alt om .NET utvikling. Tvert imot. Jeg skal gi deg en veldig rask lynkurs i .NET, og da vil jeg vise deg hvordan du bruker Powershell til å utnytte det jeg nettopp har vist deg. Vær tro meg når jeg sier at dette kommer til å være mye enklere enn det høres ut. Så med det sagt, la ’ s komme i gang

Som du lærte i begynnelsen av denne artikkelen serien, er Powershell cmdlets består av verb-substantiv kombinasjoner.. Fordi verb og substantiver kan brukes i ulike kombinasjoner, ender du opp med grupper av Powershell cmdlets som utfører lignende oppgaver.

For å vise deg hva jeg mener, ta en titt på figur A. I denne figuren Jeg kom inn i Get-Command cmdlet, etterfulgt av * -VM. Dette førte til Powershell til å liste opp alle cmdlets som er basert på den VM substantiv. Dette er alle cmdlets som brukes for å arbeide med Hyper-V virtuelle maskiner. Med andre ord, det er en gruppe av cmdlets som gir virtuell maskin funksjonalitet

Figur A:. Alle disse cmdlets er relatert til virtuelle maskiner

Godt, .NET er organisert i en noe. lignende måte. Forskjellen er at organisasjonsstrukturen er litt mer formell og terminologien er annerledes.

Hvis du ser tilbake på figur A, vil du se en rekke Power cmdlets som hver er knyttet til Hyper-V virtuelle maskiner . Selv om disse cmdlets er løst knyttet til hverandre, det er ingen formell gruppering utover standardmodulen

I .NET vi don ’. T virkelig har cmdlets per se. I stedet har vi klasser. En klasse er definert som en enkelt enhet av funksjonalitet. Hvis vi skulle fortsette å bruke virtuelle maskiner som et eksempel, kan det være en klasse for å opprette en virtuell maskin, en klasse for å starte en virtuell maskin, og en klasse for døpe en virtuell maskin (disse aren ’ t reelle klasser, jeg er bare bruke dem som et eksempel). Med andre ord er hver klasse stand til å utføre en bestemt oppgave.

klasser som er relatert til hverandre, er gruppert i et NET struktur kalt en sammenstilling. Du kan tenke på en forsamling som ligner på en Powershell-modulen. I Powershell, er en modul en samling av cmdlets. I NET, er en forsamling en samling av klasser.

En annen strukturell komponent som jeg trenger for å nevne er et navnerom. Jeg vil være den første til å innrømme at navnerom kan være komplisert. Når det gjelder tilgang til NET forsamlinger gjennom Powershell men du kan vanligvis tenker på et navnerom som en etikett som gjør at flere klasser som skal brukes, selv om disse klassene tilhører ulike forsamlinger.

For å gjøre dette litt klarere, tenke på hva som skjer når du trenger å bruke Powershell moduler. Du må kanskje begynne med å importere modulene, men når modulene er importert du står fritt til å bruke de cmdlets innenfor disse modulene uten å ta modulen ved navn. .NET Navnerom fungerer på en lignende måte. De lar deg bruke flere forsamlinger uten å alltid referere som sammenstilling inneholder hvilken klasse.

En siste biten i puslespillet som jeg må nevne er metoden. Selv om det ’ s ikke teknisk presis, kan du løst tenke på en metode som individ NET kommandoen. En .NET klasse kan inneholde en eller flere metoder

Så nå som jeg har snakket om den grunnleggende strukturen brukes av .NET, la ’ s. Snakk om noen syntaks. Husk tidligere da jeg sa at NET navnerom kan gjelde klasser fra flere forsamlinger. Grunnen til det er at Windows inneholder noe som kalles System kl som er en stor samling av klasser. Du kan se innholdet i .NET system navnerom her.

Som du ser gjennom listen av klasser, vil du raskt innse at noen er nyttig bare for utviklere, men andre kan være nyttig i Powershell miljøer. Hvis du finner en klasse som du ønsker å bruke, er det første du vil sannsynligvis ønske å gjøre for å finne ut hvilke metoder utgjør klassen. For å gjøre dette, kan du bruke følgende kommando:.

[< klassenavn >] Get-metoder () | Velg-Object Name – Unique

Denne kommandoen viser navnene på alle metodene i klassen som du angir. Den – Unique bryteren blir kvitt duplikater. For å gi deg et mer konkret eksempel, la ’ s ta en titt på de metoder som finnes for Random klassen. Kommandoen for å gjøre dette er:

[Tilfeldig] .GetMethods () | Velg-Object Name – Unique

Du kan se en liste over tilgjengelige metoder vist i figur B.

Figur B:. Det er sju unike metoder til Random klassen

Det ’ s faktisk ganske enkel å bruke metodene som vises. På sitt enkleste, må du gå inn i klassenavn (i parentes), etterfulgt av to kolon, og metodenavnet. La meg gi deg et eksempel.

Lat som for et øyeblikk at uansett grunn, du trengte din Powershell script for å beregne verdien av PI. Vel, det har seg slik at det er en Powershell klasse kalt Math og den har en metode som kalles PI. Derfor kan du få verdien av PI ved å skrive:

[Math] :: PI

Du kan se hvordan dette ser ut som i figur C.

Figur C: Du kan bruke Powershell for å returnere verdien av PI.

OK, nå har du sikkert lagt merke til at jeg begynte å snakke om klassen heter Random, men når jeg ønsket å vise deg hvordan du bruker en klasse og en metoden jeg brukte Math klassen i stedet for Random klassen. Det er en metode til min galskap.

Som dere husker, lovte jeg å holde .NET leksjon så enkelt som jeg kunne. Jeg kunne ’ t tenke på en enklere eksempel enn å beregne PI. Nå som du vet det grunnleggende syntaks for å bruke .NET metoder vi kan se på ved hjelp av noen andre metoder.

Konklusjon

I denne artikkelen har jeg vist deg det grunnleggende ved å bruke .NET metoder innen Powershell. I min neste artikkel vil jeg vise deg hvordan du bruker Random metoden. Ved å gjøre det, vil jeg også vise deg hvordan du kan bruke MSDN for å få hjelp med en metode ’ s syntaks
.



Previous:
Next Page: