Powershell Cmdlets care vă vor îmbunătăți abilitățile de administrare Windows

Powershell Cmdlets care vă vor îmbunătăți abilitățile de administrare Windows / Programare

Powershell este o modalitate perfectă pentru un nou coder pentru a începe pe Windows. Powershell este unealtă pentru linii de comandă și limbaj de scripting. Vă dă posibilitatea de a automatiza computerul prin aceleași comenzi pe care le folosiți pentru administrarea lui Command Prompt vs. Windows PowerShell: Care este diferența? Command Prompt vs. Windows PowerShell: Care este diferența? Utilizatorii de Windows pot obține fără să utilizeze nici Promptul de comandă, nici PowerShell. Dar cu Windows 10 și noi caracteristici în jurul colțului, poate că e timpul să învățăm. Citeste mai mult . Dacă aveți un sistem Windows modern, aveți deja Powershell. Majoritatea utilizărilor sale sunt centrate pe Windows, dar puteți instala Powershell pe o mașină Mac sau Linux Cum să instalați și să utilizați PowerShell pe Linux Cum să instalați și să utilizați PowerShell pe Linux În 2016, Microsoft PowerShell cu sursă deschisă și a debutat o iterație cross-platform . În acest articol vă voi arăta cum să instalați, să rulați și să utilizați PowerShell pe Linux! Citește mai mult.

Lucrul cu Powershell

Există două modalități de a utiliza Powershell. Există fereastra liniei de comandă de bază, care este utilizată pentru a rula comenzi sau a invoca scripturi pre-scrise. Apoi, există ISE, care combină fereastra CLI cu un mediu de dezvoltare de bază. Folosind acest lucru, puteți scrie și testa script-urile.

ISE are o listă de comenzi care pot fi căutate și puteți utiliza fereastra Terminal fără un fișier deschis. Lista de comenzi vă permite să construiți comanda și să o introduceți. Dacă faceți o dezvoltare mai avansată, instalați codul Visual Studio al Microsoft. Codul include suport pentru controlul versiunii Git 10 Sfaturi esențiale de productivitate pentru Visual Studio Code 10 Sfaturi esențiale de productivitate pentru Visual Studio Code Visual Studio Codul suflă alți editori de text de programare din apă. Este gratuit, open source, rapid fulger, și ambalate cu caracteristici de productivitate. Citiți mai multe și alte limbi.

Powershell este unic prin faptul că este construit în întregime din comenzi, iar Microsoft le numește Cmdlets. Aceste comenzi sunt aceleași dacă lucrați prin linia de comandă sau scriind scripturi complexe. Deci, pe măsură ce folosiți aceste comenzi, vă puteți gândi cum să le strângeți împreună pentru a vă crea primele scenarii.

Elementele de bază: Get-Command, Get-Help, Get-Member

Toate comenzile Powershell iau forma Verb-Noun. Verbele sunt de obicei: Get, Set și New.

Get-comandă vă permite să vedeți fiecare comandă disponibilă. Când rulați Get-Command, veți vedea că există tone de comenzi care încep cu acestea.

Săpătând mai departe doar numele de cmdlets, începi să vezi că toate au o structură similară. Le invocați după nume, la fel cum ați procedat și cu Get-Command. Utilizarea parametrilor modifică informațiile pe care le obțineți. Cu toate acestea, dacă ați folosit doar comanda cu opțiuni implicite, cum puteți afla cum să utilizați parametrii avansați?

Utilizarea Obține ajutor cmdlet cu Get-Command afișează mai multe informații despre cmdlet. Utilizăm cmdletul cu următoarea sintaxă:

Obțineți-ajutor Get-Command

Apoi, veți vedea informațiile de bază despre parametri. Dacă doriți să vedeți detaliile parametrilor și câteva exemple de utilizare, adăugați parametrul -Full.

Dacă doriți doar să vedeți exemplele, puteți rula:

Get-Help Get-Command -Examples

Acest cmdlet returnează numai exemplele din fișierul de ajutor. Aceste exemple sunt destul de utile deoarece includ descrieri. Acest text de ajutor explică ce face cmdlet-ul și parametrii atunci când se execută.

Dacă doriți să afișați fișierul de ajutor într-o fereastră separată, puteți utiliza -ShowWindow. Deci, dacă alergi:

Obțineți-ajutor Get-Command -ShowWindow

Powershell afișează o fereastră cu fișierul de ajutor complet. Nu este nevoie să utilizați aici parametrul Full, deoarece fereastra trage articolul complet.

Pe măsură ce avansezi cu Powershell, vei descoperi că folosești Get-Member mai des. Este o modalitate ușoară de a vedea ce câmpuri sunt disponibile din datele returnate, precum și alte metode pe care le puteți rula. Deseori, cmdlet-urile vor avea a -Proprietate pentru a vă permite să îi apelați.

Lucrul cu fișierele: Get-ChildItem, Remove-Item, Move-Item, Copy-Item

Acum, că aveți o idee despre cum funcționează cmdlet-urile și cum să obțineți ajutor, să facem schimbări. Puteți obține conținutul oricărui folder folosind Get-ChildItem comanda. De exemplu, puteți obține fișierele unei unități întregi utilizând litera unității. Introduce:

Get-ChildItem E: \

Care este scurt pentru:

Get-ChildItem - Calea E: \

Când executați această comandă, veți obține o listă de fișiere cu Timpul de scriere ultim, dimensiune sub proprietatea Lungime, Nume și Mod. Modul este atributele unui fișier sau folder AttributeMagic Free: Modificați proprietățile fișierelor în Windows AttributeMagic Free: Modificați proprietățile fișierelor în Windows Read More. Posibilele intrări sunt:

  • ReadOnly
  • Ascuns
  • Sistem
  • Director
  • Arhiva
  • Dispozitiv
  • Normal
  • Temporar
  • SparseFile
  • ReparsePoint
  • comprimat
  • Deconectat
  • NotContentIndexed
  • criptat

Dacă doriți să obțineți conținutul tuturor directoarelor sub o cale, doriți să utilizați -recurse parametru. Deci, rulați apoi:

Get-ChildItem -Path E: \ -Recurse

Fișierele dvs. apar apoi ca liste separate pentru fiecare folder din cale.

Pentru a limita datele returnate, puteți utiliza câțiva parametri diferiți: -Fişier, -Ascuns, și -ReadOnly. Dacă doriți să eliminați numele fișierului, puteți utiliza cardurile sălbatice în parametrul Path. Pentru a returna toate fișierele .doc dintr-un director, introduceți:

Get-ChildItem - Calea E: \ *. Doc

Din nou adăugați -recurse dacă doriți totul de la subfoldere, de asemenea.

Dacă doriți să ștergeți un fișier utilizați:

Eliminați-Element-Cale E: \ OldFile.txt

Pentru a ignora confirmarea fiecărui fișier, adăugați parametrul -Confirmă $ false (Powershell are două constante pentru valori booleene: $ true și $ false). Pentru a forța eliminarea fișierelor care sunt doar pentru citire sau ascunse, utilizați -Forta parametru.

Mutarea fișierelor este la fel de ușor. Pentru a muta totul de la unitatea dvs. flash pe unitatea locală într-un folder, utilizați:

Mutare-Articol-Calea E: \ * -Destination C: \ FlashDriveArchive

De asemenea, puteți numi un singur fișier în -Path pentru a muta numai acel fișier. Pentru a copia fișierul în loc să mutați, utilizați aceeași sintaxă cu Copy-Articol cmdlet.

Monitorizarea și lucrul cu procesele și serviciile

Fiecare utilizator Windows cunoaște Task Manager 5 Alternative puternice pentru Windows Task Manager 5 Alternative puternice la Managerul de sarcini Windows Task Killer ar fi un nume mai bun pentru Windows Task Manager nativ, deoarece îl aducem doar pentru a ucide procesele care nu răspund. Managerii de activități alternativi vă permit să vă gestionați efectiv procesele. Citeste mai mult . Cu toate acestea, există o modalitate mai rapidă de a vedea procesele care rulează în prezent de la Powershell, Get-proces. Dacă doriți să știți ce semnifică toate intrările din acest tabel, conduceți comanda Get-membru. Introduceți cmdlet-ul:

Get-Process Get-membru

Obțineți rezultate de membru o listă de metode și proprietăți asociate cu Get-Process. Informațiile din partea de sus sunt ceea ce vă interesează. Vedeți că diferitele tipuri de memorie au aliasuri.

De asemenea, putem vedea din această ieșire că putem obține Produs proprietate pentru a obține un nume mai prietenos la procese. Să schimbăm rezultatul, deci avem informații mai bune pentru a lucra cu:

Get-Process Selectați-Obiect produs, NPM, CPU, Nume, ID | Sortare-obiect CPU -Descendere

(Mai multe informații despre selectați-Object și Sort-Object în secțiunea următoare.)

Acum, când aveți ID-ul din comanda Get-Process, îl puteți opri utilizând cmdletul Stop-Process. Deci, dacă descoperiți că un proces Chrome vă mestecă toate resursele, găsiți ID-ul în comanda anterioară. Apoi, rulați:

Stop-Process-ID 45960

A inlocui 49560 cu ID-ul porcului dvs. de resurse.

Folosind calea fișierului, puteți începe un proces folosind Powershell. Pentru a lansa Chrome rulați următoarea comandă:

Start-Process -Filepath "C: \ Program Files (x86) GoogleChromeApplicationchrome.exe"

(Trebuie să aveți ghilimele în jurul căii de fișier din cauza spațiilor.) -ArgumentList Parametrul vă permite să treceți opțiunile din linia de comandă la aplicație. În cazul Chrome, îl puteți forța să pornească în modul incognito utilizând butonul -incognito steag. Întregul cmdlet este:

Start-Process -Filepath "C: \ Program Files (x86) GoogleChromeApplicationchrome.exe" -ArgumentList "--incognito"

Puteți efectua majoritatea acelorași lucruri cu serviciile Cum să controlați serviciile de rulare cu comandă SC [Windows] Cum să controlați serviciile de rulare cu comanda SC [Windows] Unul dintre lucrurile pe care le găsesc eu fac mult mai des de la scufundări în IT monitorizează și verifică starea serviciilor care rulează pe computerele care rulează în întreaga companie. Există ... Citește mai mult . Get-Service vă arată o listă a tuturor serviciilor care rulează pe computerul dvs. Același lucru cu serviciile de pornire și oprire, pe care le puteți utiliza Start-Service și Stop-service.

Lucrul cu datele: Sort-Object, Select-Object, Where-Object

Când lucrați cu datele dintr-un cmdlet, este posibil să nu fie întotdeauna ordinea dorită. În aceste cazuri, doriți să utilizați Sortare-obiect. Puteți să apelați Sort-Object pe o variabilă pe care ați creat-o, dar în primul rând este folosită prin pipetarea unui alt cmdlet. Ca și în exemplul de mai sus, conducem ieșirea unui obiect în altul și îl sortim. Să creăm o serie de trei numere aleatorii și să o conducem la Sort-Object.

Orice în paranteze rulează mai întâi. Creați o matrice simplă cu:

$ (Get-Random), $ (Obțineți-Random), $ (Get-Random)

Asigurați-vă că observați virgulele care separă valorile. Deci, pentru a vedea numerele aleatoare sortate rulați:

$ (Get-Random), $ (Obținere-Random), $ (Get-Random) Sortare-obiect

Câmpul emite numerele de la cel mai mic la cel mai mare, dacă doriți să îl inversați -Descendentă.

Când conduceți cmdleturi în Get-Member, există mai multe proprietăți decât ieșirea implicită. Selectați proprietăți specifice utilizând Selectați-obiect.

La fel ca Sort-Object, utilizați Select-Object printr-un cmdlet cu pipetă. De exemplu, pentru a genera un tabel de servicii și statutul lor utilizați:

Get-Service | Selectați-Obiect DisplayName, Stare

În timp ce ieșirea tuturor acestor date este plăcută, ce se întâmplă dacă doriți doar să vedeți date specifice? Get-ChildItem are unele filtre încorporate, dar majoritatea comenzilor nu. În acele cazuri, utilizați În cazul în care-obiect.

Revenind la servicii din nou, de data aceasta vei avea doar servicii de rulare. Introduceți cmdlet-ul:

Get-Service | Unde-Obiect Status -eq "Running"

Acea -eq în comparație este Powershell pentru =. În Powershell, efectuați comparații cu combinații de litere:

  • eq: egal
  • ne: nu egal
  • lt: mai puțin de
  • gt: mai mare decât
  • ge: mai mare sau egal cu
  • le: mai mică sau egală cu
  • cum ar fi: utilizarea ca și în comparațiile wildcard

Ajutor de formatare: Format-Tabel și Format-List.

Pentru aceste cmdleturi diferite, cea mai mare parte a producției a fost în formate de tabelă. Aceasta afișează datele în rânduri și coloane cu anteturi. Pentru a afișa intrările listate cu proprietățile lor în mod individual, conduceți cmdletul la Format-List.

Uneori aveți o ieșire care devine prea mare pentru fereastra Powershell. Când se întâmplă acest lucru, Powershell îl forțează într-o listă de ieșire. Pentru a vă asigura că îl țineți în țeavă de format tabelă la ieșirea dvs. -Table Format.

De la linia de comandă la scripting: Pașii următori

Odată ce vă simțiți confortabil, scripting-ul este o chestiune de intrare în cmdleturi. Boostați-vă productivitatea cu Windows PowerShell Scripts Boostați productivitatea cu Windows PowerShell Scripts Ce se întâmplă dacă ați putea aduce productivitatea Linux pe Windows? Cele mai multe distribuții Linux vin ambalate cu shell-ul puternic Bash. PowerShell este un terminal la fel de puternic pentru Windows. Citiți mai mult într-un fișier text și salvați-l. Dacă sunteți nervos în încercarea de scripting, nu fiți. Microsoft are o cantitate enormă de documentație pe fiecare cmdlet. Aceasta este deasupra și dincolo de această documentație de ajutor deja lungă, așa că asigurați-vă că ați verificat-o pe Technet.

Dacă învățați Powershell, anunțați-ne în comentarii ceea ce sunteți cel mai încântați să faceți. Dacă aveți mai multă experiență, ne-ar plăcea să aflăm despre subiectele mai avansate pe care doriți să le vizați.

Explorați mai multe despre: PowerShell, Scripting.