Ako ste upotrijebili ipconfig ili ping kroz naredbeni redak, na pola ste puta da postanete PowerShell ninja. Zato dođite i pridružite nam se dok otkrivamo cmdlete u ovoj instalaciji Geek škole.
Provjerite naš prvi članak o uvođenju PowerShell-a i budite praćeni za ostatak naše serije cijeli tjedan.
Anatomija cmdlet-a
U prvom dijelu Serije vidjeli smo cmdlet koji je izgledao ovako:
Update-pomoć
PowerShell cmdleti imaju sintaksu glagola-imenica, kojamože se vidjeti gore. Važno je napomenuti da je imenica uvijek jednina iako cmdlet može vratiti više rezultata. Da biste vidjeli popis legalnih glagola u PowerShellu, možete koristiti cmdlet Get-Verb.
Poznavanje pravnih glagola i pamćenje pravila jedninske imenice zaista pomažu u pogađanju imena cmdleta. Na primjer, pretpostavimo da to želite dobiti popis od usluge i njihov status - to je ispravno, jednostavno kao i Usluga za dobivanje. Kako mislite da bismo dobiti popis trčanja procesi - to je tačno, Get-Process će učiniti trik.
Get-Process
To olakšava rad s bilo kojom tehnologijom. Na primjer, ako imate učitane Exchange cmdlete, lako bismo mogli dobiti popis poštanskih sandučića na poslužitelju koristeći:
Get-Mailbox
Međutim, postoji iznimka. Zamijenite na stranu, za sve druge naredbe specifične za tehnologiju potreban je prefiks. Na primjer, ako želimo dobiti korisnike koji su trenutno prijavljeni putem udaljene radne površine, upisali bismo:
Get-RDUserSession
Što se može vidjeti na slici ispod.
Napomena: ovaj je snimak slike snimljen na kutiji poslužitelja 2012, jer ćete tamo pronaći većinu tehnološki specifičnih modula.
Prije nekog vremena pročitao sam članak Don Jonesa, Kuma PowerShela, gdje je objasnio da je Exchange isporučen prije nego što je ovaj prefiks dodan u cmdlete, tako da ih nikada nije implementirao i nikada neće.
nadimci
Još jedna značajka koju PowerShell dolazi jemogućnost više načina za pokretanje iste naredbe - pseudonima, ako hoćete. Strašna stvar o njima je ta što su u naredbeni redak uključili mnogo naredbi koje ste možda koristili, kao i neke nadimke Linuxa. Na primjer, u PowerShellu možemo dobiti unos direktorija koristeći:
Get-ChildItem
Jeste li se koristili pomoću naredbenog retka? Ne brini, pokrili su te.
Imate Linux pozadinu? I oni su vas tamo pokrili.
Kad ste za nekoliko scenarijagodina, obično ste lijeni i počnete puno upotrebljavati pseudonime, ali to ne pomaže pridošlicama koji će čitati naš kod. Da biste vidjeli koja se naredba alias izvodi ispod haube, možete koristiti sljedeće:
Get-alias - Ime ls
S druge strane, ako smatrate da je vrijeme da se pojačate igra, možete upotrijebiti parametar definicije da biste dobili sve pseudonimije za cmdlet:
Get-ChildItem - Definicija Get-ChildItem
Ako potječete iz neke druge pozadine, možete dodati svoje pseudonime na sljedeći način:
New-alias - ime icanhazfilez –Value Get-ChildItem
Očito, morat ćete zamijeniti "icanhazfilez" imenom vašeg novog pseudonima i Get-ChildItem s cmdletom koji želite da se pokrene ispod haube.
Jedna stvar koju treba napomenuti je da gubite sve pseudonime koje ste definirali kada zatvorite ljusku. To možete zaobići dodavanjem njihove definicije u skriptu svog profila.
Parametri skraćivanja
Windows PowerShell također vam omogućuje odstupanjenazive parametara gore do točke kada postanu dvosmisleni, to jest do točke kada PowerShell više ne može shvatiti o kojem parametru govorite. Na primjer:
Get-Service -Name "Apple Mobile Device" -ComputerName localhost
Isto je kao:
Get-Service -Ne „Apple Mobile Device“ -Com localhost
Ako kojim slučajem imena parametara napravite previše dvosmislenih, doći će do pogreške.
Naslijeđene naredbe
Konačno, naredbe koje znate i volite i dalje će raditi u PowerShellu.
ping www.google.com
Sjetite se samo da nasljeđene aplikacije poput ping-a ispisuju niz, a često je i bolji način da se ista stvar učini pomoću PowerShell cmdleta.
Umjesto da objavimo dugačak niz teksta, sada nam ostaje objekt, koji ćemo pogledati u sutrašnjem izdanju Geek škole.