ce este PowerShell?
- 05/22/2020
- 5 minute pentru a citi
-
- j
- s
- s
PowerShell este un cross-platform sarcină de automatizare și gestionare a configurației cadru, constând dintr coajă de linie de comandă și limbaj de scripting. Spre deosebire de majoritatea Shell-urilor, care acceptă și returnează textul,PowerShell este construit pe partea de sus a runtime-ului .net Common Language (CLR) și acceptă și returnează.NETobjects., Această schimbare fundamentală aduce instrumente și metode complet noi pentru automatizare.
Ieșire este bazat pe obiecte
spre Deosebire de tradiționale de interfețe de linie de comandă, PowerShell cmdlet-urile sunt proiectate să se ocupe cu obiecte.Un obiect este structurată informații care este mai mult decât un șir de caractere care apar pe thescreen. Comanda de ieșire poartă întotdeauna informații suplimentare pe care le puteți utiliza dacă aveți nevoie de ea.dacă ați folosit instrumente de procesare a textului pentru a procesa date în trecut, veți descoperi că acestea s-au comportat diferit atunci când au fost utilizate în PowerShell., În cele mai multe cazuri, nu aveți nevoie de instrumente de procesare a textului pentru a extrageinformații specifice. Accesați direct porțiuni ale datelor utilizând Objectsyntax standard PowerShell.
comanda de familie este extensibil
Interfețe, cum ar fi cmd.exe
nu oferă o modalitate pentru tine de a direct extinde built-in commandset. Puteți crea instrumente externe de linie de comandă care rulează în cmd.exe
. Dar aceste instrumente externenu au servicii, cum ar fi integrarea ajutorului. cmd.exe
nu știe automat că aceste instrumente externe sunt comenzi valide.,
comenzile din PowerShell sunt cunoscute sub numele de cmdlets. Puteți utiliza fiecare cmdlet separat, dar eiputerea se realizează atunci când le combinați pentru a efectua sarcini complexe. Ca multe cochilii, PowerShell oferăacces la sistemul de fișiere de pe computer. Furnizorii PowerShell vă permit să accesați altemagazine de date, cum ar fi registrul și magazinele de certificate, la fel de ușor pe măsură ce accesați sistemul de fișiere.puteți crea propriile module cmdlet și funcții folosind cod sau scripturi compilate. Modulele pot adăugacmdlets și furnizori la shell., PowerShell sprijină, de asemenea, script-uri care sunt similare cu script-uri UNIXshell și cmd.exe
batch files.
suport pentru pseudonime de comandă
PowerShell acceptă pseudonime pentru a se referi la comenzi de nume alternative. Aliasing permite utilizatorilor cuexperiență în alte cochilii să utilizeze nume comune de comandă pe care le cunosc deja pentru operațiuni similare în PowerShell.Aliasing asociază un nume nou cu o altă comandă. De exemplu, PowerShell are o internalfunction nume Clear-Host
care curata fereastra de ieșire., Puteți introduce fiecls
sauclear
alias la un prompt de comandă. PowerShell interpretează aceste pseudonime și rulează funcțiaClear-Host
.această caracteristică ajută utilizatorii să învețe PowerShell. În primul rând, cele mai cmd.exe
și Unix utilizatorii au un largerepertoire de comenzi care utilizatorii deja știu după nume. Echivalentele PowerShell nu pot producerezultate identice. Cu toate acestea, rezultatele sunt suficient de apropiate încât utilizatorii să poată lucra fără să știe numele comenzii PowerShell., „Memoria musculară” este o altă sursă majoră de frustrare atunci când înveți un noucoajă de comandă. Dacă ați folosit cmd.exe
de ani de zile, s-ar putea reflex de tip cls
comanda toclear ecran. Fără aliasul pentru Clear-Host
, primiți un mesaj de eroare și nu veți ști ce să faceți pentru a șterge ieșirea.când tastați o comandă, PowerShell procesează întotdeauna intrarea în linia de comandă direct. Powershellformează, de asemenea, ieșirea pe care o vedeți pe ecran., Această diferență este semnificativă deoarece aceastareduce munca necesară pentru fiecare cmdlet. Se asigură că puteți face întotdeauna lucrurile la felcu orice cmdlet. Dezvoltatorii Cmdlet nu trebuie să scrie cod pentru a analiza argumentele din linia de comandă sauformat ieșirea.instrumentele tradiționale de linie de comandă au propriile scheme de solicitare și afișare a ajutorului. Somecommand-instrumente de linie de utilizare /?
pentru a declanșa Ajutorul display-ului; altele folosesc -?
, /H
sau chiar//
., Unii vor afișa ajutor într-o fereastră GUI, mai degrabă decât în afișajul consolei. Dacă utilizezi parametrul greșit, instrumentul poate ignora ceea ce ai tastat și poate începe să execute automat o sarcină.Deoarece PowerShell analizează și procesează automat linia de comandă, parametrul -?
este întotdeaunaînseamnă „arată-mi ajutor pentru această comandă”.dacă rulați o aplicație grafică în PowerShell, se deschide fereastra pentru aplicație.PowerShell intervine numai atunci când procesați intrarea liniei de comandă pe care o furnizați sau aplicațiaeșire returnată în fereastra consolei., Nu afectează modul în care aplicația funcționează intern.
PowerShell are o conductă
conductele sunt fără îndoială cel mai valoros concept utilizat în interfețele de linie de comandă. Când este utilizatîn mod corespunzător, conductele reduc efortul de utilizare a comenzilor complexe și facilitează vizualizarea fluxului de lucru. Fiecare comandă dintr-o conductă trece ieșirea sa, element cu element, la următoarea comandă. Commandsdon ‘ t trebuie să se ocupe de mai mult de un element la un moment dat. Rezultatul este reducerea consumului de resurse șicapacitatea de a obține imediat producția.,notația utilizată pentru conducte este similară notației utilizate în alte cochilii. La prima vedere, acestanu poate fi evident modul în care conductele sunt diferite în PowerShell. Deși vedeți text pe ecran,PowerShell conducte obiecte, nu text, între comenzi.,
De exemplu, dacă utilizați Out-Host
cmdlet-ul pentru a forța o pagină de afișare de ieșire fromanother comanda, rezultatul arata la fel ca cele normale de text afișat pe ecran, rupt intopages:
Get-ChildItem | Out-Host -Paging
Paginare, de asemenea, reduce utilizarea PROCESORULUI pentru procesarea transferurilor de la Out-Host
cmdlet când are o pagină complet, gata pentru a afișa. Cmdleturile care o preced în conductă suspendă execuțiapână când Pagina următoare de ieșire este disponibilă.,
obiecte în conductă
când executați un cmdlet în PowerShell, veți vedea ieșirea textului, deoarece este necesar să reprezentațiobiecte ca text într-o fereastră a consolei. Ieșirea de text nu poate afișa toate proprietățile theobject fiind de ieșire.
de exemplu, luați în considerare Get-Location
cmdlet. Ieșirea textului este un rezumat al informațiilor, nu unreprezentarea completă a obiectului returnat de Get-Location
. Se adaugă titlul din ieșireprin procesul care formatează datele pentru afișarea pe ecran.,
Get-Location
Path----C:\
Tubulatura de ieșire la Get-Member
cmdlet-ul afișează informații despre obiectul returnat deGet-Location
.
Get-Location | Get-Member
Get-Location
returnează un PathInfo obiect care conține calea de curent și alte informații.
Built-in sistem de ajutor
Similar cu Unix man
pagini, PowerShell include ajutor detaliat articole care explica PowerShellconcepts și sintaxa de comandă., Utilizați Get-help cmdlet-ului pentru a afișa aceste articole la commandprompt sau pentru a vizualiza cele mai recente versiuni ale acestor articole în PowerShell documentationonline.pentru a afla mai multe despre PowerShell, consultați secțiunea Learning PowerShell a acestui site.