Korištenje PowerShell-a za kućne korisnike – Vodič za početnike

Tko ne želi da može biti čarobnjak i izgovoriti nekoliko riječi da se dogode čarobne stvari? Pa(Well) , ne možemo vam pokazati kako biti čarobnjak, ali vam možemo pokazati kako napraviti malu kompjutersku magiju.

Ako imate Windows računalo sa sustavom Windows 7(Windows 7) na njemu, imate PowerShell . Također, ako imate računalo sa sustavom Windows 7(Windows 7) , ažurirajte ga radi sigurnosti.

Ali ovaj članak nije samo za Windows korisnike. Najnovija verzija PowerShell - a je besplatna i može se instalirati i koristiti na Mac i Linux računalima.

To je važno jer se ono što naučite o PowerShellu(PowerShell) sada može koristiti na gotovo svakom računalu. Tko zna? Ovu vještinu možete podići na sljedeću razinu i upustiti se u karijeru u informacijskoj tehnologiji(Information Technology) .

Što je PowerShell?

Visokotehnološki odgovor Microsofta(Microsoft) je da je to "ljuska naredbenog retka" dizajnirana posebno za administratore sustava. »Zvuči(” Sounds) zastrašujuće. Ali nije. Vodite li računa o svom računalu? Da, onda ste vi administrator sustava u svojoj kući.

Govorite li svom računalu što da radi s klikovima i tipkama? Da, stoga zamislite ljusku naredbenog retka kao samo još jedan prozor u koji upisujete stvari kako biste svom računalu rekli što treba učiniti. Možeš ti to.

PowerShell je poput programskog jezika, ali ne tako zagonetan kao većina. Doista se čita poput običnog engleskog(English) , što je bilo nešto čemu je Microsoft težio kako bi ga mogli pokupiti ne-programeri.

To je način pisanja nekoliko redaka naredbi, zvanih skripta, kako bi operacijski sustav Windows učinio nešto što vi želite. Zatim možete spremiti te retke u datoteku i pokrenuti je jednim klikom ili zakazati povremeno pokretanje.

Što možete učiniti s PowerShellom?

Svrha PowerShell(PowerShell) -a na visokoj razini je mogućnost automatizacije zadataka, tako da ne morate gubiti vrijeme radeći svakodnevne stvari uzastopno. Za profesionalnog administratora sustava(Systems Administrator) to bi moglo biti nešto poput stvaranja novih korisnika, generiranja lozinki za njih i slanja e-pošte s pojedinostima njihovom novom nadzorniku.

Ručno izveden, uz klikove i tipkanje, taj proces može potrajati od 5 minuta do sat vremena ili više. S pravim skriptama, administrator sustava(Systems Administrator) možda neće niti morati raditi bilo koji dio toga.

Ali želite znati što možete učiniti s PowerShellom(PowerShell) kod kuće. Gotovo sve što ne volite raditi uvijek iznova. Upotrijebite ga da oslobodite prostor na tvrdom disku brisanjem privremenih datoteka i datoteka dnevnika koje vam nisu potrebne.

Stavite policijski sat na računalo vašeg djeteta. Preimenujte(Rename) ili organizirajte hrpu datoteka. To je ljepota PowerShell -a . Gotovo(Almost) sve što možete učiniti na svom računalu, možete stvoriti PowerShell skriptu za automatizaciju i pokretanje jednim klikom ili prema rasporedu.

Kako mogu koristiti PowerShell?

Najlakši način rada s PowerShellom(PowerShell) je u PowerShell integriranom okruženju za skriptiranje (ISE)(PowerShell Integrated Scripting Environment (ISE)) . Možete ga pronaći tako da kliknete Start i upišete powershell ise u traku za pretraživanje u sustavu Windows 10(Windows 10) . Trebali biste ga vidjeti kao što je prikazano u nastavku.

Po prvi put kada ga koristimo, pokrenut ćemo ga kao administrator . Da biste to učinili, prvo morate imati administratorska prava na računalu. U izborniku Start(Start Menu) desnom tipkom miša kliknite PowerShell ISE , a zatim kliknite Pokreni kao administrator(Run as Administrator) .

Možda ćete dobiti skočni prozor upozorenja za kontrolu pristupa korisnika(User Access Control) ( UAC ) s pitanjem jeste li sigurni da to želite učiniti. Kliknite Da(Yes) .

Sada gledate PowerShell IDE . Gornje okno prozora (1) je okno za skriptiranje. Ovdje ćete napisati svoj scenarij. Donje okno prozora (2) je područje konzole. Kada testirate svoju skriptu, vidjet ćete izlaz u ovom oknu.

Ovdje ćete također vidjeti poruke o pogreškama i takve koje će vam pomoći da popravite i poboljšate svoje skripte. Okno na desnoj strani prozora (3) je dodatak za naredbe. Zamislite to kao rječnik svih PowerShell naredbi koje su vam dostupne.

PowerShell dolazi tako da ne pokreće nikakve skripte osim onih koje su već dio Windowsa(Windows) . Morat ćete ga promijeniti kako biste mogli izvoditi vlastite skripte.

U prozoru za skriptiranje kopirajte i zalijepite sljedeće:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Njegov dio Set-ExecutionPolicy naziva se cmdlet (izgovara se naredba). Cmdleti su moćne stvari. Razmišljajte(Think) o njima kao o kratkim naredbama koje možete dati Windowsu(Windows) , a Windows će napraviti hrpu kompliciranijih stvari kako bi zadovoljio vašu naredbu.

Analogija bi bila da svom djetetu kažete da očisti svoju sobu. Kratko(Short) i konkretno. Ako je vaše dijete dobro upućeno u čišćenje sobe, onda će otići pospremiti krevet, staviti rublje u košaru, staviti svoje igračke i knjige na police, a možda čak i usisati pod. Oni razumiju da je cmdlet Clean-YourRoom značio sve to.

Na vrhu prozora vidjet ćete zelenu strelicu. Kliknite(Click) na to za pokretanje naredbe.

Dio -ExecutionPolicy govori Set-ExecutionPolicy koju politiku postaviti. To je parametar. Kaže se: "Želim da radite u skladu s ovim smjernicama i to konkretno. Kaže mu da koristi specifičnu politiku RemoteSigned .

Politika RemoteSigned navodi da PowerShell ne smije izvršiti ili pokrenuti nijednu skriptu koja je preuzeta s interneta(Internet) osim ako je nije potpisao pouzdani izdavač.

Na zaobilazni način, PowerShell -u govori da je u redu pokrenuti bilo koju skriptu kreiranu lokalno, jer one ne moraju biti potpisane od strane udaljenog pouzdanog izdavača. Sada će vaša PowerShell skripta moći pokrenuti bilo koju skriptu koju napišete na svom računalu.

Pogledajmo skriptu za brisanje privremenih datoteka. Nije tako moćan ili temeljit kao CCleaner , ali CCleaner dolazi sa svojim vlastitim skupom problema.

Koristite PowerShell(Use PowerShell) za stvaranje prostora(Create Space) na tvrdom disku(Your Hard Drive)

Rastavit ćemo ovu skriptu, red po redak, tako da možete vidjeti kako funkcionira. Na kraju će se skripta u potpunosti prikazati tako da je možete kopirati i zalijepiti ako želite.

$TempFileLocation = "C:\Users\username\Appdata\Local\Temp\*"

Sve što ima znak dolara ispred je ime varijable. Razmišljajte o tome kao o novčaniku u koji stavljate vrijedne stvari. Novčanik(Wallet) nas podsjeća na znak dolara, dragocjenosti zvuči kao promjenjivo, pa ćemo i to zapamtiti. Stvaramo novčanik ili varijablu pod nazivom $TempFileLocation . Znak jednakosti govori PowerShellu(PowerShell) što treba staviti u tu varijablu.

U ovom slučaju stavljamo lokaciju Windowsove lokacije privremenih datoteka - C:\Users\username\AppData\Local\Temp\* . Činimo to iz dva razloga; to je lokacija s koje je uvijek sigurno brisati datoteke, a mi ćemo je koristiti da kažemo PowerShell - u kamo mora ići za brisanje datoteka.

Gdje piše korisničko ime na tom mjestu, zamijenite ga svojim korisničkim imenom. To je korisničko ime koje koristite za prijavu na svoje računalo. Zvjezdica (*) na kraju je zamjenski znak. Ono što predstavlja je sve što se nalazi u mapi Temp , jer je sve u mapi Temp privremeno i želimo to izbrisati.

Dvostruki navodniki oko lokacije također su važni. To govori PowerShell -u da je ono što je unutra niz. Razmislite(Think) o nizu kao o nizu slova i znakova. Da su to obični brojevi, ne bismo koristili navodnike.

$TempFile = Get-ChildItem $TempFileLocation -Recurse

Izrađujemo još jednu varijablu. Ovaj put ćemo upotrijebiti naredbu da smislimo nešto što ćemo staviti u varijablu $TempFile .

Get-ChildItem 

Još jedna stvar koju ćete primijetiti kod cmdlet-a poput Get-ChildItem je da je potpuno čitljiv. Vidite kako je prva riječ glagol? Sve Cmdleti(Cmdlets) započinju s akcijskim riječima, tako da odmah znate što radi. ChildItem su dvije imenice.

Drugi dio cmdleta uvijek će nam reći na što će PowerShell primijeniti akciju. ChildItem znači sva djeca roditeljske lokacije. Ovo je kao da kažete nabavite sve datoteke koje se nalaze u mapi, pri čemu su datoteke podređene, a mapa roditelj.

Od čega cmdlet dobiva podređene stavke? Sve u varijabli $TempFileLocation . PowerShell će otići na lokaciju koju smo ranije stavili u $ TempFileLocation i dobiti sve podređene stavke koje se tamo nalaze. Zatim će ih staviti u varijablu $TempFile .

Dakle, što je s dijelom -Recurse ? To govori Get-ChildItemu(Get-ChildItem) da prođe sve na tom mjestu. Nemojte samo ići preuzeti datoteke odmah u roditeljsku mapu. Ako u toj mapi postoje mape, nabavite i svu njihovu djecu, njihovu djecu i tako dalje. Sve ćemo ih dobiti.

$TempFileCount = ($TempFile).count

Da, stvaramo treću varijablu pod nazivom $TempFileCount i stavit ćemo broj u tu varijablu. Gdje je broj? Pa, ( $TempFile).count će nam dati taj broj. Vjerojatno ste shvatili da će dio .count izvršiti brojanje svih datoteka koje smo upravo pohranili u $ TempFile .

Zašto smo to učinili? Uglavnom zato što je lijepo znati koliko beskorisnih datoteka čistimo s ostatkom skripte kako bismo mogli reći koliko je bila učinkovita.

if($TempFileCount -eq 0)

Sada postavljamo uvjetnu izjavu. Možete vidjeti da se pita 'ako'. ako što? Ako je stvar u zagradi istinita ili lažna. Zagrade su važne, inače If ne zna što bi usporedio. Ovdje se pita je li broj koji smo pohranili u $TempFileCount jednak nuli.

-eq je skraćenica za jednake. To je vrsta operatora usporedbe. To je kao da svojoj djeci kažete: "Ako je vaša soba čista, super, nešto ćemo učiniti..." Ova izjava govori je li broj koji je pohranjen u $ TempFileCount - jednak nuli do sljedeća stvar.

{Write-Host "There are no files in the folder $TempFileLocation" -ForegroundColor Green}

To je ono što će se dogoditi ako je $TempFileCount nula. Kovrčave zagrade su važne. Oni govore PowerShell -u da radi samo ono što je unutar njih ako je $ TempFileCount jednak nuli.

Napisat će domaćinu ili zaslonu: "Nema datoteka u mapi C:\Users\username\Appdata\Local\Temp\*" . Parametar na kraju, – ForegroundColor govori PowerShell -u da učini tekst zelenim. To samo olakšava razlikovanje od poruke o pogrešci koja je obično crvena.

Else

Znate što drugo znači. Ovo je "bolje da vaša soba bude čista ili inače..." dio provjere je li vaše dijete očistilo svoju sobu. To će se dogoditi ako $TempFileCount nije nula.

{$TempFile | Remove-Item -WhatIf -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}

Ovo kaže idite na trenutnu lokaciju pohranjenu u $TempFile . Okomita linija nakon nje naziva se cijev. Djeluje poput cijevi iz stvarnog života jer govori PowerShell -u da prebaci sadržaj $ TempFile u cmdlet, kao da se voda dovodi u perilicu rublja. Tada cmdlet Remove-Item radi ono što kaže; uklanja sve što se nalazi na tom mjestu.

Parametar -WhatIf vrlo je važan u ovoj fazi. Kaže PowerShell -u da pokrene naredbu, ali samo je isprobajte, ne uklanjajte ništa. Samo(Just) nam pokažite što bi se dogodilo da ovo stvarno učinimo.

To vam omogućuje testiranje naredbi bez promjene bilo čega na računalu. Ostavite -WhatIf tamo dok vam ne bude ugodno da će skripta učiniti ono što želite i ništa drugo. Zatim samo to izbrišite i skripta će obaviti svoj posao.

Parametar -Confirm:$false zaustavlja skriptu da vas pita da li stvarno želite izbrisati datoteku. Znate što radi -Recurse . -Prisiliti( -Force) znači izbrisati tu stvar bez obzira na sve. -WarningAction je postavljen na SilentlyContinue .

To sprječava da vam skripta daje upozorenja o tome što brišete. -ErrorAction je postavljena na SilentlyContinue tako da ako postoji bilo kakva pogreška u procesu, ona se samo nastavlja.

Sada smo na posljednjoj liniji.

Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green}

Baš kao što je Write-Host učinio prvi put, iznijet će sljedeću rečenicu, tako da znamo što se dogodilo. Reći će nam koliko je datoteka izbrisano iz mape koju je upravo obradio i učiniti to zelenom bojom kako bi je bilo lako uočiti.

Pogledajmo skriptu u cijelosti:

$TempFileLocation = "C:\Users\guymcd\Appdata\Local\Temp\*"
$TempFile = Get-ChildItem $TempFileLocation -Recurse
$TempFileCount = ($TempFile).count

if($TempFileCount -eq "0") {
Write-Host "There are no files in the folder $TempFileLocation" - ForegroundColor Green
}
Else {
$TempFile | Remove-Item -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green
}

Ovo možete kopirati i zalijepiti u svoj PowerShell ISE i spremiti ga kao nešto poput delete-TemporaryFiles.ps1 . Možete se također držati konvencije imenovanja cmdlet-a sada kada ih razumijete.

Ako kod iz nekog razloga ne radi za vas, također možete preuzeti PowerShell skriptu koju smo kreirali i jednostavno je pokrenuti. Samo(Just) ga prvo raspakirajte da vidite datoteku skripte.

Kad god želite pokrenuti ovu skriptu, samo je kliknite desnom tipkom miša i odaberite Pokreni s PowerShellom(Run with PowerShell) . PowerShell konzola će se pojaviti na sekundu ili dvije, dok vaša skripta radi svoje, a zatim će nestati ako nema grešaka.

Gdje mogu saznati više PowerShell-a?

To se čini puno! Za vašu prvu PowerShell skriptu to je prilično malo. Ako ste dogurali ovako daleko, plješću sami sebi. Danas ste puno naučili, ali sada želite naučiti više. To je super!

Na Internetu(Internet) postoji mnogo resursa za učenje više o PowerShellu(PowerShell) . Dobro mjesto za početak je naš članak 'Generirajte popis programa za pokretanje putem naredbenog retka ili PowerShell-a'(Generate a List of Startup Programs via Command Line or PowerShell) . Zatim provjerite ove druge resurse:



About the author

Pozdrav potencijalnim poslodavcima! Vrlo sam iskusan softverski inženjer s više od 7 godina iskustva u tom području. Znam kako dizajnirati i razvijati aplikacije za Windows 7 i na svom profilu imam širok raspon preporuka za Cool web stranice. Moje vještine i iskustvo nude mi odličan izbor za svaku tvrtku koja traži talentiranog pojedinca s dobrim vještinama upravljanja projektima, znanjem programiranja i iskustvom u razvoju web stranica.



Related posts