10Aug

Geek School: Učenje korištenja Cmdleta u PowerShellu

Ako ste pomoću naredbenog retka koristili ipconfig ili ping, bit ćete na pola postaje PowerShell ninja. Na taj način dođite i pridružite nam se dok otkrijemo cmdletove u ovoj instalaciji Geek škole.

Obavezno pogledajte naš prvi članak koji predstavlja PowerShell i ostanite u tijeku cijele naše serije cijeli tjedan.

Anatomija Cmdlet

U prvom dijelu serije vidjeli smo cmdlet koji je izgledao ovako:

Update-Help cmdlets

PowerShell imaju verbalni sintaks, koji se može vidjeti iznad. Važno je napomenuti da je imenica uvijek jednini iako cmdlet može vratiti više od jednog rezultata. Da biste vidjeli popis pravnih glagola u programu PowerShell, možete koristiti cmdlet Get-Verb.

Poznavanje pravnih glagola i prisjećanje singularne imenice stvarno pomaže nagađanje imena cmdleta. Na primjer, pretpostavimo da želite dobiti popis usluga i njihov status - to je pravo, to je lako kao Get-Service. Kako mislite da bismo dobili popis pokrenutih procesa - to je pravo, Get-Process će napraviti trik.

Get-Process

To je stvarno lako raditi s bilo kojom tehnologijom. Na primjer, ako ste stavili Exchange cmdletove, mogli bismo lako dobiti popis spremnika na poslužitelju korištenjem:

Get-Mailbox

Međutim, postoji iznimka. Izmjene na stranu, sve druge naredbe specifične za tehnologiju zahtijevaju prefiks. Na primjer, ako bismo željeli korisnike koji su trenutačno prijavljeni putem Remote Desktop, upisujemo:

Get-RDUserSession

Što se može vidjeti na slici zaslona u nastavku.

Napomena: Ovaj snimak zaslona snimljen je na poslužitelju 2012 jer to je mjesto gdje ćete naći većinu modula specifičnih za tehnologiju.

Prije nekog vremena pročitao sam članak Don Jonesa, kuma PowerShell, gdje je objasnio da je Exchange isporučen prije nego što je ovaj prefiks dodan cmdletima, tako da ih nikada nije implementirao i nikada neće.

Alias ​​

Druga značajka PowerShell dolazi s je mogućnost da imate više načina pokretanja iste naredbe - aliase, ako želite. Strašna stvar o njima je da su uključili mnoge naredbe koje ste mogli koristiti u naredbenom retku, kao i neke Linux pseudonim. Na primjer, u PowerShellu možemo dobiti unos telefonskog imenika korištenjem:

Get-ChildItem

Koristi se za korištenje naredbenog retka? Ne brinite, pokrivali ste ih.

Imate Linux pozadinu? I oni su vas pokrivali.

Kada ste skriptirali već par godina, teži se lijenosti i počnete upotrebljavati aliase, ali to ne pomaže pridošlicama koji će čitati naš kod. Da biste vidjeli koja je naredba pod imenom pseudonim, možete upotrijebiti sljedeće:

Get-Alias ​​- naziv

S druge strane, ako mislite da je vrijeme za korak igre, možete upotrijebiti parametar definicije da biste dobilisvi pseudonimi za cmdlet:

Get-ChildItem-Definicija Get-ChildItem

Ako dolazite iz neke druge pozadine, možete dodati svoje pseudonime slijedeći:

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

Očito,morat ćete zamijeniti "icanhazfilez" s imenom svog novog aliasa i Get-ChildItem s cmdletom kojim želite da se pokreće ispod kapuljača.

Jedna stvar koja treba napomenuti je da ćete izgubiti sve pseudonime koje ste definirali kada zatvorite ljusku. To možete postići dodavanjem svoje definicije u skriptu profila.

Parametri skraćivanja

Windows PowerShell također vam omogućuje skraćivanje naziva parametara sve do točke u kojoj one postaju nejasne, tj. Do točke u kojoj PowerShell više ne može otkriti koji parametar o kojem govorite. Na primjer:

Get-Service - naziv 'Apple Mobile Device' - RačunaloName localhost

Je isto kao i:

Get-Service - 'Apple Mobile Device' - domaći

Ako ste slučajno postavili parametre previše dvosmislenedobit će pogrešku.

Naslijeđene naredbe

Konačno, naredbe koje poznajete i volite i dalje će raditi u PowerShellu.

ping www.google.com

Samo zapamtite da naslijeđene aplikacije poput pinga izlažu niz i često postoji bolji način da to učinite korištenjem cmdleta programa PowerShell.

Umjesto izdavanja dugog niza teksta, sada smo ostavljeni s objektom, što ćemo pogledati u sutrašnjem izdanju Geek škole.