Pagrindinis » kaip » Geek mokyklos mokymasis naudoti „Cmdlet“ „PowerShell“

    Geek mokyklos mokymasis naudoti „Cmdlet“ „PowerShell“

    Jei komandų eilutėje naudojote „ipconfig“ arba „ping“, esate pusiaukelėje, kad taptumėte „PowerShell ninja“. Taigi ateikite ir prisijunkite prie mūsų, kaip mes atrandame cmdletą šiame Geek mokyklos diegime.

    Būtinai patikrinkite mūsų pirmąjį straipsnį, pristatantį „PowerShell“, ir visą savaitę likite suderinti su likusia mūsų serija.

    „Cmdlet“ anatomija

    Pirmoje serijos dalyje matėme cmdlet, kuris atrodė panašus:

    „Update-Help“

    „PowerShell“ cmdlet'uose yra „Verb-Noun“ sintaksė, kurią galima pamatyti aukščiau. Svarbu pažymėti, kad daiktavardis visada yra vienaskaitinis, nors cmdlet gali grąžinti daugiau nei vieną rezultatą. Jei norite pamatyti „PowerShell“ teisinių veiksmažodžių sąrašą, galite naudoti cmdlet Get-Verb.

    Žinodami teisinius veiksmažodžius ir prisimindami vienaskaitos daiktavardį, iš tikrųjų galima spėlioti cmdlet pavadinimus. Pavyzdžiui, tarkime, kad norite gauti sąrašas paslaugos ir jų statusas - tai teisinga, taip lengva, kaip „Get-Service“. Kaip manote, kad norėtume gauti rodomas sąrašas procesus - tai teisinga, „Get-Process“ triks.

    Gauti procesas

    Dėl to tikrai lengva dirbti su bet kuria technologija. Pavyzdžiui, jei įkėlėte „Exchange“ cmdlet'us, galėtume lengvai gauti serverio pašto dėžučių sąrašą naudojant:

    „Get-Mailbox“

    Tačiau yra išimtis. Nepaisant to, visoms kitoms technologijoms specifinėms komandoms reikalingas priešdėlis. Pvz., Jei norėjome, kad vartotojai, kurie šiuo metu yra prisijungę prie nuotolinio darbalaukio, įvestume:

    Get-RDUserSession

    Ką galima matyti žemiau esančiame paveikslėlyje.

    Pastaba: Ši ekrano kopija buvo įtraukta į „Server 2012“ langelį, nes čia rasite daugumą konkrečių technologijų modulių.

    Prieš kurį laiką perskaičiau PowerShell krikštatėlio Don Jones straipsnį, kuriame jis paaiškino, kad „Exchange“ išsiųstas prieš šį priešdėlį pridedant prie cmdlet, todėl jis niekada neįgyvendino ir niekada.

    Pseudonimai

    Kitas „PowerShell“ bruožas yra gebėjimas turėti kelis būdus, kaip paleisti tą pačią komandą - slapyvardžius, jei norite. Nuostabus dalykas, apie kurį kalbama, yra tai, kad jie įtraukė daug komandų, kurias galėjote naudoti komandų eilutėje, taip pat kai kuriuos Linux slapyvardžius. Pavyzdžiui, „PowerShell“ mes galime gauti katalogų sąrašą naudojant:

    „Get-ChildItem“

    Naudojamas komandų eilutės naudojimui? Nesijaudinkite, jie apėmė.

    Turite Linux foną? Jie taip pat ten jūs.

    Kai jau kelerius metus skriptuojate, jūs linkę įsijungti ir pradėti naudoti slapyvardžius, tačiau tai nepadeda naujokams, kurie ketina perskaityti mūsų kodą. Jei norite pamatyti, kokią komandą slapyvardis veikia po gaubtu, galite naudoti šiuos veiksmus:

    Get-Alias ​​-Name ls

    Kita vertus, jei manote, kad atėjo laikas pradėti žaidimą, galite naudoti apibrėžimo parametrą, kad gautumėte visus cmdlet slapyvardžius:

    „Get-ChildItem“ - apibrėžimas „Get-ChildItem“

    Jei atvykote iš kitos fono, galite pridėti savo slapyvardžius atlikdami šiuos veiksmus:

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

    Akivaizdu, kad „icanhazfilez“ turėsite pakeisti nauju pavadinimu ir „Get-ChildItem“ su cmdlet, kurį norite paleisti po gaubtu.

    Vienas dalykas, kurį reikia pastebėti, yra tai, kad prarasite visus slapyvardžius, kuriuos nustatėte uždarius korpusą. Tai galite pasiekti pridedant jų apibrėžimą į savo profilio scenarijų.

    Trumpieji parametrai

    „Windows PowerShell“ taip pat leidžia jums sutrumpinti parametrų pavadinimus iki taško, kur jie tampa dviprasmiški, ty iki to momento, kai „PowerShell“ nebegali išsiaiškinti, apie kokį parametrą kalbate. Pavyzdžiui:

    „Get-Service“ pavadinimas „Apple Mobile Device“ - kompiuterio pavadinimas localhost

    Tas pats kaip:

    „Get-Service“ - „Apple Mobile Device“ -Com „localhost“

    Jei bet kuriuo atveju pernelyg dviprasmiški parametrų pavadinimai, gausite klaidą.

    Paveldimos komandos

    Galiausiai, komandos, kurias žinote ir meilė, vis tiek veiks „PowerShell“.

    ping www.google.com

    Tiesiog nepamirškite, kad senosios programos, pvz., Ping išvestys eilutę, ir dažnai yra geresnis būdas tą patį daryti naudojant „PowerShell“ cmdlet.

    Užuot pateikę ilgą teksto eilutę, mes dabar paliekame objektą, kurį mes apžvelgsime rytoj Geek mokyklos leidime..