10Aug
Dacă ați utilizat ipconfig sau ping prin linia de comandă, sunteți la jumătatea drumului pentru a deveni un ninja PowerShell. Deci, haideți să ne alăturați când descoperim cmdleturile în această instalație a Școlii Geek.
Asigurați-vă că ați verificat primul nostru articol introducând PowerShell și păstrați-vă tot restul seriilor noastre toată săptămâna.
Anatomia unui Cmdlet
În prima parte a Seriei am văzut un cmdlet care arăta cam așa:
Update-Help
cmdlet-urile PowerShell au o sintaxă Verb-Noun, care poate fi văzută mai sus. Este important să rețineți că substantivul este întotdeauna unic, chiar dacă cmdlet-ul ar putea reveni la mai mult de un rezultat. Pentru a vedea o listă de verbe legale în PowerShell, puteți folosi cmdletul Get-Verb.
Cunoașterea verbelor juridice și amintirea regulii substanțiale singulare ajută cu adevărat la ghicirea numelor de cmdlet. De exemplu, să presupunem că doriți să obține o listă de servicii și statutul lor - care este drept, la fel de ușor ca Get-Service. Cum credeți că vom primi
o listă cu procesele care rulează - așa-i drept, Get-Process va face truc.Get-Process
Acest lucru face foarte ușor să lucrați cu orice tehnologie. De exemplu, dacă ați încărcat cmdlet-urile Exchange, am putea obține cu ușurință o listă de cutii poștale de pe server utilizând:
Get-Mailbox
Cu toate acestea, există o excepție.În schimb, toate celelalte comenzi specifice tehnologiei vor necesita un prefix. De exemplu, dacă vrem să obținem utilizatorii conectați în mod curent prin intermediul Remote Desktop, vom tasta:
Get-RDUserSession
Ceea ce poate fi văzut în imaginea de mai jos.
Notă: această captură de ecran a fost făcută pe o casetă pentru Server 2012, unde veți găsi cele mai multe dintre modulele specifice tehnologiei.
Cu ceva timp in urma, am citit un articol de Don Jones, nasul din PowerShell, unde a explicat ca Exchange livrat inainte de acest prefix a fost adaugat in cmdleturi, asa ca nu le-a implementat niciodata si nu va mai face niciodata.
Alias
O altă caracteristică pe care o include PowerShell este abilitatea de a avea mai multe moduri de rulare a aceleiași comenzi - alias-uri, dacă doriți. Minunatul lucru despre ei este că au inclus multe comenzi pe care le-ați fi putut folosi în linia de comandă, precum și unele aliasuri Linux. De exemplu, în PowerShell putem obține o listă de directoare folosind:
Get-ChildItem
Folosit pentru a utiliza promptul de comandă?Nu-ți face griji, te-au acoperit.
Aveți un fundal Linux?Și tu ai acoperit acolo.
Când ați scripticat de câțiva ani, aveți tendința de a obține leneș și de a începe să folosiți alias-urile foarte mult, dar acest lucru nu ajută noii veniți care vor citi codul nostru. Pentru a vedea ce comanda se executa sub alunecare, puteti folosi urmatoarele:
Get-Alias -name ls
Pe de alta parte, daca simtiti ca este timpul sa va pasiti jocul, puteti folosi parametrul definitie pentru a obtinetoate pseudonimele pentru un cmdlet:
Get-ChildItem -Definiție Get-ChildItem
Dacă veniți din alte fundaluri, puteți să vă adăugați propriile pseudonime făcând următoarele:
Alias-nou-icanhazfilez -Value Get-ChildItem
Evident,va trebui să înlocuiți "icanhazfilez" cu numele noului dvs. alias și Get-ChildItem cu cmdlet-ul pe care doriți să îl rulați sub capotă.
Un lucru de reținut este că pierdeți toate pseudonimele pe care le-ați definit când închideți coajă.Puteți obține acest lucru prin adăugarea definiției acestora la scriptul dvs. de profil.
Parametrii de trunchiere
Windows PowerShell vă permite, de asemenea, să trunchiați numele parametrilor până când devin ambiguu, adică până în punctul în care PowerShell nu mai poate afla ce parametru vorbești. De exemplu:
Get-Service - este "Apple Mobile Device" -ComputerName localhost
Este același lucru cu:
Get-Service - Nu este "Apple Mobile Device" -Com localhost
Dacă,va primi o eroare. Codurile
Legacy
În cele din urmă, comenzile pe care le cunoașteți și le iubiți vor funcționa în continuare în PowerShell.
ping www.google.com
Amintiți-vă că aplicațiile vechi cum ar fi ping-ul de ieșire un șir, și de multe ori există o modalitate mai bună de a face același lucru folosind un cmdlet PowerShell.
În loc să scoatem un șir lung de text, suntem acum lăsați cu un obiect, pe care îl vom arunca o privire la ediția de mâine a școlii Geek.