10Aug

Geeki kool: PowerShellis moodulite kasutamise õppimine

Kui olete käsuviibast ipconfig või ping kasutanud, olete jõudmas pooleks PowerShelli ninja saamiseks. Nii et tule meiega ja ühinege sellega, kui avastame selle Geeki kooli installis cmdletsi.

Kontrollige kindlasti meie esimest artiklit, mis tutvustab PowerShelli, ja jääge kogu nädala jooksul ülejäänud seeriate juurde.

Cmdlet

anatoomia Seriaali esimeses osas nägime cmdletti, mis näis välja midagi sellist:

värskendusabi

PowerShelli cmdletes on Verb-Nouni süntaks, mida on näha ülal. Oluline on märkida, et nimisõna on alati ainsuses, kuigi cmdleht võib tagasi tuua rohkem kui ühe tulemuse. PowerShellis sisalduvate juriidiliste verbide loendi vaatamiseks võite kasutada cmdlet Get-Verb.

Õigusakti tegusõnade tundmine ja ainulaadse nimisõna reegli mäletamine aitab tõepoolest ära cmdlet-nimed. Näiteks oletame, et soovite, et saaks -le -teenuste ja nende oleku - see on nii lihtne, nagu Get-Service. Kuidas arvate, et saab -st käitatavate -de tööde nimekirja -st - see on õige, Get-Process teeb seda trikki.

Get-Process

See muudab tõepärase kerge töötada mis tahes tehnoloogiaga. Näiteks kui teil oleks olnud Exchange'i käskude koondnäidet, võiksime meil hõlpsasti serveris olevate postkastide loendi saada, kasutades järgmist:

Get-Mailbox

Siiski on erand. Vaheta kõrvale, kõik muud tehnoloogial põhinevad käsklused vajavad eesliidet. Näiteks kui me tahame, et kasutajaid, kes on praegu Remote Desktopi kaudu sisse loginud, sisestaksime:

Get-RDUserSession

mida võib näha allpool oleval pildil.

Märkus: see ekraanipilt võeti server 2012 kasti, kuna see on koht, kus te leiate enamiku tehnoloogia spetsiifilisemaid mooduleid.

Mõnda aega tagasi lugesin PowerShelli Ristiisa Don Jonesi artiklit, kus ta selgitas, et vahetus tarniti enne selle prefiksi lisamist cmdletesse, nii et see ei kasutanud neid kunagi ja mitte kunagi.

varjunimed

Teine võimalus PowerShelli kaasas on võime omada mitut viisi sama käskluse aliaseadete kasutamiseks, kui soovite. Nende jaoks on fantastiline asjaolu, et nad hõlmasid paljusid käske, mida võite käsuviibas kasutada, samuti mõnede Linuxi aliaste. Näiteks PowerShellis saab kataloogide nimekirja, kasutades selleks järgmist:

Get-ChildItem

Kas kasutada käsureale?Ära muretse, nad on sulle kaetud.

Kas Linux on taustal? Nad on seal ka kaetud.

Kui olete mõne aasta jooksul skripti teinud, kipub sa laiskuma ja hakkate kasutama varjunimeid palju, kuid see ei aita uustulnukatel, kes hakkavad meie koodi lugema. Selle nägemiseks, mis käsku varjundi allsüsteemi töötab, võite kasutada järgmist:

Get-Alias ​​-nimi ls

Teisest küljest, kui tunned, et on aeg oma mängu üles astuda, võite kasutada definitsiooni parameetrit, et saadakõik semideti aliased:

Get-ChildItem-Definition Get-ChildItem

Kui tulete mõnest muust taustast, võite oma aliaseaded lisada, tehes järgmist:

New-Alias ​​-Nimi icanhazfilez -Value Get-ChildItem

Ilmseltpeate asendama "icanhazfilez" oma uue pseudonüümi ja Get-ChildItemi nimedega, kasutades selleks käsku, mida soovite käivitada kapoti all.

Üks asi, mida tuleb märkida, on see, et kaotate kõik aliased, mille olete shelli sulgemisel defineerinud. Selle kohta saate oma profiili skripti lisada oma määratluse.

Kärpimisparameetrid

Windows PowerShell võimaldab ka parameetri nimede kärpimist kuni punktini, kus need muutuvad ebaselgeks, st kuni punktini, kus PowerShell ei suuda enam aru saada, millist parameetrit sa räägid. Näiteks:

Get-Service -Nimi "Apple Mobile Device" -ComputerName localhost

Kas see on sama:

Get-Service -Na "Apple Mobile Device" -Komm kohalik host

Kui teil on mõni võimalus muuta parameetrite nimed liiga kahetikssaab viga.

pärandkäsklused

Lõpuks töötavad PowerShelli käsutuses olevad käskud, mida teate ja armastad.

ping www.google.com

Pidage meeles, et pärandrakendused nagu ping väljastavad stringi ja sageli on parem viis teha sama asja kasutades PowerShelli cmdlet.

Selle asemel, et väljastada pika tekstikirja, on meil nüüd objekt, mida me vaatame hommikuse Geeki kooli väljaandes.