Dacă ați folosit ipconfig sau ping prin promptul 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.
În prima parte a Seriei am văzut un cmdlet care arăta cam așa:
Actualizare-Ajutor
Rapoartele 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 obține o lista de Servicii și statutul lor - este corect, la fel de ușor ca Get-Service. Cum crezi că o să facem asta? obține o listă de alergare procese - Corect, Get-Process va face truc.
Get-proces
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 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ă Server 2012, ca în cazul în care veți găsi majoritatea modulelor specifice tehnologiei.
Cu ceva timp în urmă, am citit un articol de Don Jones, Dumnezeul lui PowerShell, unde a explicat că Exchange trimis înainte de acest prefix a fost adăugat în cmdleturi, așa că nu le-a implementat niciodată și nu va mai face niciodată.
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 utilizând:
Get-ChildItem
Folosit pentru a utiliza linia de comandă? Nu-ți face griji, te-au acoperit.
Aveți un background 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 aliasuri foarte mult, dar acest lucru nu ajută noii veniți care vor citi codul nostru. Pentru a vedea ce comandă rulează un alias sub hota, puteți folosi următoarele:
Get-Alias -Imi ls
Pe de altă parte, dacă simțiți că este timpul să vă faceți pasul, puteți utiliza parametrul de definire pentru a obține toate pseudonime pentru un cmdlet:
Get-ChildItem - Definiție Get-ChildItem
Dacă veniți dintr-un alt fundal, puteți adăuga propriile pseudonime făcând următoarele:
Alianțe noi - Sunt 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 execute sub capotă.
Un lucru de remarcat 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 lor la scenariul dvs. de profil.
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 - denumiți "Dispozitiv mobil Apple" -ComputerName localhost
Este la fel ca:
Get-Service - Nu este "dispozitiv mobil Apple" -Com localhost
Dacă, în orice caz, faceți numele parametrilor prea ambiguuți, veți primi o eroare.
Î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 moștenite, cum ar fi pingul 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ă ieșim dintr-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.