Powershell Cmdlets koji će poboljšati vaše Windows administratorske vještine

Powershell Cmdlets koji će poboljšati vaše Windows administratorske vještine

Powershell je savršen način za početak rada novog kodera na Windowsima. Powershell je jednaki alat alata za naredbeni redak i skriptni jezik. Omogućuje vam automatizaciju računala putem istih naredbi koje koristite za upravljanje . Ako imate moderan Windows sustav, već imate Powershell. Većina njegovih upotreba usmjerena je na Windows, ali Powershell možete instalirati i na Mac ili Linux stroj.





Rad s Powershell -om

Postoje dva načina korištenja Powershell -a. Postoji osnovni prozor naredbenog retka koji se koristi za pokretanje naredbi ili pozivanje unaprijed napisanih skripti. Zatim postoji ISE, koji kombinira CLI prozor s osnovnim razvojnim okruženjem. Pomoću ovoga možete pisati i testirati svoje skripte.





ISE ima popis naredbi koje je moguće pretraživati, a njegov terminalni prozor možete koristiti bez otvorene datoteke. Popis naredbi omogućuje vam da sastavite svoju naredbu i umetnete je. Ako se bavite naprednijim razvojem, instalirajte Microsoftov kod za Visual Studio. Kod uključuje podršku za kontrolu verzija Gita i druge jezike.





Powershell je jedinstven po tome što je u potpunosti izgrađen od naredbi, Microsoft ih naziva Cmdlets. Ove naredbe su iste ako radite putem naredbenog retka ili pišete složene skripte. Dakle, dok koristite ove naredbe, možete razmišljati o tome kako ih spojiti kako biste stvorili svoje prve skripte.

Osnove: Get-Command, Get-Help, Get-Member

Sve naredbe Powershell-a imaju oblik glagola-imenice. Glagoli su obično: Nabavite, postavite i novo .



Get-Command omogućuje vam da vidite svaku dostupnu naredbu. Prilikom izvođenja Get-Command vidite da postoji mnogo naredbi koje započinju s njima.

Kopajući dalje samo u nazive cmdleta, počinjete uviđati da svi oni imaju sličnu strukturu. Pozivate ih imenom, baš kao što ste učinili s Get-Commandom. Korištenje parametara mijenja informacije koje dobivate. Međutim, ako ste ikada koristili naredbu sa zadanim opcijama, kako ćete saznati kako koristiti napredne parametre?





Koristiti Dobiti pomoć cmdlet s Get-Commandom prikazuje više informacija o cmdletu. Koristimo cmdlet sa sljedećom sintaksom:

Get-Help Get-Command

Tada ćete vidjeti osnovne podatke o parametrima. Ako želite vidjeti detalje parametra i neke primjere uporabe, dodajte parametar -Full.





Ako samo želite vidjeti primjere, možete pokrenuti:

Get-Help Get-Command -Examples

Ovaj cmdlet vraća samo primjere iz datoteke pomoći. Ovi su primjeri vrlo korisni jer uključuju opise. Ovaj tekst pomoći objašnjava što cmdlet i parametri rade tijekom izvođenja.

Ako želite iskočiti datoteku pomoći u zaseban prozor, možete je koristiti -ShowWindow . Dakle, ako pokrenete:

Get-Help Get-Command -ShowWindow

Powershell iskače kroz prozor s cijelom datotekom pomoći. Ovdje ne morate koristiti parametar Full jer prozor povlači cijeli članak.

Kako napredujete s Powershell-om, otkrivat ćete da češće koristite Get-Member. To je jednostavan način da vidite koja su polja dostupna iz vraćenih podataka, kao i druge metode koje možete pokrenuti. Često će cmdleti imati -Imovina parametar koji vam omogućuje da ih pozovete.

Rad s datotekama: Get-ChildItem, Remove-Item, Move-Item, Copy-Item

Sada kad imate neku ideju o tome kako cmdleti rade i kako dobiti pomoć, napravimo promjene. Sadržaj bilo koje mape možete dobiti pomoću Get-ChildItem naredba. Na primjer, pomoću slova pogona možete dobiti datoteke cijelog pogona. Unesi:

Get-ChildItem E:

Što je skraćeno od:

Get-ChildItem -Path E:

Kada pokrenete ovu naredbu, dobit ćete popis datoteka s zadnjim vremenom pisanja, veličinom pod svojstvom Length, Name and Mode. Način su atributi datoteke ili mape. Mogući unosi su:

  • Samo za čitanje
  • Skriven
  • Sustav
  • Imenik
  • Arhiva
  • Uređaj
  • Normalan
  • Privremeno
  • SparseFile
  • ReparsePoint
  • Stisnuta
  • Van mreže
  • NotContentIndexed
  • Šifrirano

Ako želite dobiti sadržaj svih poddirektorija na putu, želite koristiti -Ponovno parametar. Pa pokrenite:

Get-ChildItem -Path E: -Recurse

Vaše datoteke tada izlaze kao zasebni popisi za svaku mapu na putu.

Da biste ograničili vraćene podatke, možete koristiti nekoliko različitih parametara: -Datoteka , -Skriven , i -Samo za čitanje . Ako želite filtrirati nazive datoteka, možete upotrijebiti zamjenske znakove u parametru Path. Da biste vratili sve .doc datoteke u direktorij, unesite:

Get-ChildItem -Path E:*.doc

Opet dodaj -prekid ako ste htjeli sve i iz podmapa.

Ako želite izbrisati datoteku, upotrijebite:

Remove-Item -Path E:OldFile.txt

Da biste preskočili potvrdu svake datoteke, dodajte parametar -Potvrdite $ false (Powershell ima dvije konstante za boolove vrijednosti: $ true i $ false). Za prisilno uklanjanje skrivenih datoteka samo za čitanje upotrijebite -Sila parametar.

Premještanje datoteka jednako je jednostavno. Za premještanje svega s vašeg Flash pogona na lokalni pogon u mapi upotrijebite:

Move-Item -Path E:* -Destination C:FlashDriveArchive

Također možete nazvati jednu datoteku u -Path da biste samo premjestili tu datoteku. Da biste kopirali datoteku, a ne je premjestili, koristite istu sintaksu sa Kopiraj-Stavka cmdlet.

Praćenje i rad s procesima i uslugama

Svaki Windows korisnik poznaje Task Manager . Međutim, postoji brži način da vidite trenutne procese iz Powershella, Get-Process . Ako želite znati što znače svi unosi u ovoj tablici, prenesite naredbu u Get-Member . Unesite cmdlet:

Get-Process | Get-Member

Get-member ispisuje popis metoda i svojstava povezanih s Get-Process. Informacije na vrhu su ono što vas zanima. Vidite da različite vrste memorije imaju pseudonime.

Iz ovog izlaza također možemo vidjeti da možemo dobiti Proizvod svojstvo za dobivanje prijaznijeg naziva procesima. Promijenimo izlaz tako da ima bolje informacije za rad s nama:

Windows nije mogao automatski otkriti postavke proxyja ove mreže google chrome
Get-Process | Select-Object Product, NPM, CPU, Name, ID | Sort-Object CPU -Descending

(Više informacija o Select-Objektu i Sort-Objektu ima u sljedećem odjeljku.)

Sada kada imate ID iz naredbe Get-Process, možete ga zaustaviti pomoću cmdleta Stop-Process. Dakle, ako ustanovite da Chromeov proces žvače sve vaše resurse, pronađite ID u prethodnoj naredbi. Zatim pokrenite:

Stop-Process -ID 45960

Zamijeniti 49560 s ID -om vaše svinje.

Putem datoteke možete pokrenuti proces pomoću Powershell -a. Da biste pokrenuli Chrome, pokrenite sljedeću naredbu:

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

(Morate imati navodnike oko puta datoteke zbog razmaka.) -ArgumentList parametar omogućuje prosljeđivanje opcija naredbenog retka aplikaciji. U slučaju Chromea, možete ga prisiliti da se pokrene u anonimnom načinu pomoću --inkognito zastava. Cijeli cmdlet je:

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

Većinu istih stvari možete učiniti s uslugama. Get-Service prikazuje vam popis svih usluga pokrenutih na vašem računalu. Isto možete koristiti i s uslugama pokretanja i zaustavljanja Start-servis i Stop-usluga .

Rad s podacima: Sort-Object, Select-Object, Where-Object

Kada radite s podacima iz cmdleta, možda to nije uvijek željeni redoslijed. U tim slučajevima želite koristiti Sortiraj-Objekt . Sort-Object možete pozvati na varijablu koju ste stvorili, ali prvenstveno se koristi prenosom druge cmdlet datoteke. Kao u gornjem primjeru, prenosimo izlaz jednog objekta u drugi i sortiramo ga. Napravimo niz od tri slučajna broja i prebacimo ga u Sort-Object.

Sve što je u zagradama pokreće se prvo. Napravite jednostavan niz s:

$(Get-Random), $(Get-Random), $(Get-Random)

Obavezno primijetite zareze koji odvajaju vrijednosti. Dakle, da biste vidjeli kako se razvrstavaju nasumični brojevi:

$(Get-Random), $(Get-Random), $(Get-Random) | Sort-Object

Cmdlet ispisuje brojeve od najmanjeg do najvećeg, ako ga želite obrnuti, dodajte -Silazni .

Kada dostavljate cmdlete u Get-Member, postoji više svojstava od zadanog izlaza. Određena svojstva odabirete pomoću Odaberi objekt .

Baš kao i Sort-Object, i Select-Object koristite putem cmdlet-a. Na primjer, za generiranje tablice usluga i njihovog statusa upotrijebite:

Get-Service | Select-Object DisplayName, Status

Iako je ispis svih ovih podataka lijep, što ako želite vidjeti samo određene podatke? Get-ChildItem ima ugrađeno filtriranje, ali većina naredbi nema. U tim slučajevima koristite Gdje-Objekt .

Vraćajući se opet na usluge, ovaj put ćete dobiti samo pokrenute usluge. Unesite cmdlet:

Get-Service | Where-Object Status -eq 'Running'

Da -ekv u usporedbi je Powershell za = . U Powershell -u uspoređujete kombinacije slova:

  • eq: jednako
  • ne: nije jednako
  • lt: manje od
  • gt: veće od
  • ge: veće ili jednako
  • le: manje ili jednako
  • poput: koristiti kao u usporedbama zamjenskih znakova

Pomoć za oblikovanje: Format-Table i Format-List.

Za ove različite cmdlete većina je rezultata bila u formatima tablice. Ovo prikazuje podatke u retcima i stupcima s zaglavljima. Da biste pojedinačno prikazali unose navedene s njihovim svojstvima, prenesite cmdlet u Format-List .

Ponekad imate izlaz koji postaje preširok za Powershell prozor. Kad se to dogodi, Powershell ga forsira u izlaz liste. Da biste bili sigurni da ga držite u cijevi formata tablice u koju izlazite Tablica formata .

Od naredbenog retka do skriptiranja: sljedeći koraci

Kad vam bude udobno, skriptiranje je stvar unosa cmdleta u tekstualnu datoteku i spremanja. Ako ste nervozni zbog pokušaja skriptiranja, nemojte. Microsoft ima ogromnu količinu dokumentacije o svakom cmdletu. Ovo je iznad i izvan već dugačke dokumentacije pomoći, stoga svakako provjerite Technet [više nije dostupno].

Ako učite Powershell, javite nam u komentarima što vas najviše veseli. Ako imate malo više iskustva, voljeli bismo čuti o naprednijim temama koje biste voljeli vidjeti pokrivene.

Udio Udio Cvrkut E -pošta Izbrišite ove Windows datoteke i mape kako biste oslobodili prostor na disku

Trebate očistiti prostor na disku na računalu sa sustavom Windows? Evo Windows datoteka i mapa koje se mogu sigurno izbrisati kako bi se oslobodio prostor na disku.

Pročitajte Dalje
Povezane teme
  • Windows
  • Programiranje
  • PowerShell
  • Skriptiranje
O autoru Michael McConnell(44 objavljena članka)

Michael nije koristio Mac kad su bili osuđeni na propast, ali može kodirati u Applescriptu. Diplomirao je informatiku i engleski jezik; već neko vrijeme piše o Macu, iOS -u i video igrama; i on je dnevni majmun IT više od desetljeća, specijaliziran za skriptiranje i virtualizaciju.

Više od Michaela McConnella

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu