Būtinai perskaitykite mūsų pirmąjį straipsnį, pristatantį "PowerShell", ir visą savaitę laikykitės mūsų likusios serijos.
Cmdlet anatomija
Pirmoje serijos dalyje matėme cmdlet, kuris atrodė panašiai:
Update-Help
"PowerShell" cmdlet turi sintaksę "verb-noun", kurį galima pamatyti aukščiau. Svarbu pažymėti, kad daiktavardis visada yra vienaskaitos, nors cmdlet gali grąžinti daugiau nei vieną rezultatą. Norėdami peržiūrėti PowerShell teisinių veiksmažodžių sąrašą, galite naudoti "Get-Verb" cmdlet.
Žinios teisinių veiksmažodžių ir prisimenant vienintelią egzempliorių taisyklę tikrai padeda atspėti cmdlet pavadinimus. Pavyzdžiui, tarkime, kad norite gauti sąrašas paslaugos ir jų statusas - tai tiesa, taip paprasta, kaip "Get-Service". Kaip manote, kad mes gauti važiavimo sąrašas procesai - tiesa, "Get-Process" atliks triuką.
Get-Process
Get-Mailbox
Tačiau yra išimtis. Keisdami nuorodą, visos kitos konkrečios technologijos komandos turi turėti prefiksą. Pavyzdžiui, jei norime gauti vartotojus, kurie šiuo metu yra prisijungę naudodami nuotolinį darbalaukį, įveskite:
Get-RDUserSession
Kuris yra matomas toliau pateiktame ekrano kopija.
Pastaba: šis ekrano kopija padaryta "Server 2012" dėžutėje, nes čia rasite daugumą konkrečių technologijų modulių.
Slapyvardžiai
Kitas "PowerShell" funkcija yra galimybė turėti kelis būdus naudoti tą pačią komandą - slapyvardžius, jei norite. Nuostabus dalykas yra tai, kad jie įtraukti į komandų eilutę daugelį komandų, kurias galėjo naudoti, taip pat kai kurias "Linux" aliases. Pavyzdžiui, PowerShell sistemoje galime gauti katalogų sąrašą naudodami:
Get-ChildItem
Get-Alias –Name ls
Get-ChildItem –Definition Get-ChildItem
New-Alias –Name icanhazfilez –Value Get-ChildItem
Žinoma, jums reikės pakeisti "icanhazfilez" su savo naujo slapyvardžio pavadinimu ir Get-ChildItem su cmdlet, kurią norite paleisti po gaubtu.
Atskyrimo parametrai
"Windows PowerShell" taip pat leidžia sutrumpinti parametrų pavadinimus iki taško, kuriame jie tampa dviprasmis, t. Y. Iki taško, kuriame "PowerShell" daugiau nebegalima suprasti, apie kurį parametrą jūs kalbate. Pavyzdžiui:
Get-Service -Name ‘Apple Mobile Device’ -ComputerName localhost
Get-Service -Na ‘Apple Mobile Device’ -Com localhost
Legacy komandos
Galiausiai komandos, kurias žinote ir myliu, vis tiek dirbs "PowerShell".
ping www.google.com