Uporaba PowerShell za domače uporabnike - Vodnik za začetnike

Admin

Kdo si ne želi, da bi bil čarovnik in izrekel nekaj besed, da bi se zgodile čarobne stvari? No, ne moremo vam pokazati, kako biti čarovnik, lahko pa vam pokažemo, kako narediti malo računalniške čarovnije.

Če imate računalnik z operacijskim sistemom Windows z operacijskim sistemom Windows 7, imate PowerShell. Če imate računalnik z operacijskim sistemom Windows 7, ga zaradi varnosti posodobite.

Kazalo

Toda ta članek ni namenjen samo uporabnikom sistema Windows. Najnovejša različica programa PowerShell je brezplačna in jo je mogoče namestiti in uporabljati v računalnikih Mac in Linux.

To je pomembno, ker je tisto, kar ste izvedeli o PowerShellu, zdaj mogoče uporabiti na skoraj vsakem računalniku. Kdo ve? To spretnost lahko dvignete na naslednjo stopnjo in se podate v kariero na področju informacijske tehnologije.

Kaj je PowerShell?

Microsoftov visokotehnološki odgovor je, da je to "… lupina ukazne vrstice, zasnovana posebej za sistemske skrbnike." Sliši se zastrašujoče. Ampak ni. Ali skrbite za svoj računalnik? Da, potem ste skrbnik sistema v svoji hiši.

Ali računalniku poveste, kaj naj stori s kliki in pritiski tipk? Da, torej o lupini ukazne vrstice pomislite le kot o drugem oknu, v katerega vnesete stvari, da računalniku poveste, kaj naj naredi. Zmoreš.

PowerShell je kot programski jezik, vendar ne tako skrivnosten kot večina. Res se veliko bere kot običajna angleščina, za kar si je Microsoft prizadeval, da bi jo lahko pobrali tudi neprogramerji.

To je način, da napišete nekaj vrstic ukazov, imenovanih skript, da operacijski sistem Windows naredi nekaj, kar želite. Nato lahko te vrstice shranite v datoteko in jo zaženete s klikom ali načrtujete njeno občasno izvajanje.

Kaj lahko storite s PowerShell -om?

Vrhunec PowerShell-a je, da lahko avtomatizira naloge, zato vam ni treba več zapravljati časa za vsakdanje stvari. Za poklicnega sistemskega administratorja je to lahko nekaj takega, kot je ustvarjanje novih uporabnikov, ustvarjanje gesel zanje in pošiljanje e-pošte s podrobnostmi njihovemu novemu nadzorniku.

Ročno izveden postopek s kliki in tipkanjem lahko traja od 5 minut do ene ure ali več. S pravimi skripti sistemskemu skrbniku morda niti ni treba storiti tega.

Želite pa vedeti, kaj lahko storite s PowerShellom doma. Skoraj vse, česar ne marate ponavljati znova in znova. Uporabite ga za sprostitev prostora na trdem disku z brisanjem začasnih datotek in datotek dnevnika, ki jih ne potrebujete.

Postavite policijsko uro na otrokov računalnik. Preimenujte ali uredite kup datotek. To je lepota PowerShella. Skoraj vse, kar lahko storite v računalniku, lahko ustvarite skript PowerShell za avtomatizacijo in izvajanje s klikom ali po urniku.

Kako uporabljam PowerShell?

Najlažji način za delo s PowerShell je v Integrirano skriptno okolje PowerShell (ISE). Najdete ga tako, da kliknete Start in vnesete powershell ise v iskalno vrstico v sistemu Windows 10. To bi morali videti, kot je prikazano spodaj.

Prvič, ko ga uporabljamo, ga bomo zagnali kot skrbnik. Če želite to narediti, morate imeti v računalniku najprej skrbniške pravice. V vašem Meni Start, z desno tipko miške kliknite PowerShell ISE, nato kliknite na Zaženi kot skrbnik.

Lahko dobite a Uporabnik. Nadzor dostopa (UAC) pojavno okno z opozorilom, če ste prepričani, da želite to narediti. to. Kliknite Da.

Zdaj gledate IDE PowerShell. Zgornje okno okna (1) je skriptno podokno. Tu boste napisali svoj scenarij. Spodnje okno okna (2) je območje konzole. Ko preizkusite skript, boste v tem podoknu videli izpis.

Tu boste videli tudi sporočila o napakah, ki vam bodo pomagala popraviti in izboljšati skripte. Podokno na desni strani okna (3) je dodatek za ukaze. Pomislite na to kot na slovar vseh ukazov PowerShell, ki so vam na voljo.

PowerShell je nastavljen tako, da ne zažene nobenega drugega skripta. že del sistema Windows. To boste morali spremeniti, da boste lahko zagnali svojo. lastne skripte.

V skriptnem oknu kopirajte in prilepite naslednje:

Set -ExecutionPolicy -ExecutionPolicy RemoteSigned

The Set-ExecutionPolicy del se imenuje cmdlet (izgovarja se ukazna vrstica). Cmdlets so močne stvari. Zamislite si jih kot kratke ukaze, ki jih lahko daste operacijskemu sistemu Windows, in Windows bo naredil kopico bolj zapletenih stvari, ki bodo zadovoljile vaš ukaz.

Analogija bi bila, če bi otroku rekli, naj pospravi svojo sobo. Kratko in bistveno. Če je vaš otrok podkovan pri čiščenju sob, si bo šel pospraviti posteljo, pospraviti perilo v koš, odložiti police na igrače in knjige in morda celo posesati tla. Zavedajo se, da je cmdlet Clean-YourRoom pomenil vse to.

Na vrhu okna boste videli zeleno puščico. Kliknite na to, da zaženete ukaz.

The -Izvršna politika del pove Set-ExecutionPolicy kakšno politiko določiti. To je parameter. Pravi: "Želim, da delate v skladu s temi smernicami in to storite posebej. Pove mu, naj uporabi posebno politiko RemoteSigned.

The RemoteSigned pravilnik določa, da PowerShell ne sme izvesti ali zagnati skripta, ki je bil naložen iz interneta, razen če ga je podpisal zaupanja vreden založnik.

Na krožen način PowerShellu sporoča, da je v redu zagnati kateri koli lokalno ustvarjen skript, ker ga ni treba podpisati z zaupanja vrednim založnikom na daljavo. Sedaj bo vaš skript PowerShell lahko zagnal kateri koli skript, ki ga napišete v računalniku.

Poglejmo skript za brisanje začasnih datotek. Ni. tako močan ali temeljit kot CCleaner, vendar ima CCleaner svoj nabor. težave.

Uporabite PowerShell za ustvarjanje prostora na trdem disku

Ta skript bomo razčlenili, vrstico za vrstico, tako da lahko vidite. kako deluje. Na koncu bo skript popolnoma prikazan, tako da ga lahko kopirate. in ga prilepite, če želite.

$ TempFileLocation = "C: \ Uporabniki \ uporabniško ime \ Appdata \ Lokalno \ Temp \*"

Karkoli pred znakom dolarja je spremenljivo ime. Zamislite si to kot denarnico, v katero lahko vložite dragocene stvari. Denarnica nas spominja na znak dolarja, dragocenosti zvenijo kot spremenljive, zato se bomo tudi tega spomnili. Ustvarjamo denarnico ali spremenljivko z imenom $ TempFileLocation. Znak enakosti pove PowerShell -u, kaj naj vstavi v to spremenljivko.

V tem primeru umeščamo lokacijo začasnih datotek sistema Windows - C: \ Users \ username \ AppData \ Local \ Temp \*. To počnemo iz dveh razlogov; to je lokacija, na kateri je vedno varno izbrisati datoteke, in z njo bomo PowerShellu povedali, kam mora iti za brisanje datotek.

Kjer piše uporabniško ime. lokacijo, zamenjajte za svoje uporabniško ime. To je uporabniško ime, ki ga uporabljate za prijavo. v vaš računalnik. Zvezdica (*) na koncu. to je wild card. Kar predstavlja, je vse v mapi Temp, ker je vse v mapi Temp začasno. in želimo ga izbrisati.

Pomembni so tudi dvojni narekovaji okoli lokacije. To. pove PowerShell -u, da je v njem niz. Zamislite niz kot niz. črk in znakov. Če bi bile običajne številke, jih ne bi uporabljali. narekovaji.

$ TempFile = Get -ChildItem $ TempFileLocation -Recurse

Ustvarjamo drugo spremenljivko. Tokrat bomo z ukazom pripravili nekaj, kar bi morali vnesti v $ TempFile spremenljivka.

Get-ChildItem 

Še ena stvar, ki jo boste opazili pri cmdletih Get-ChildItem je, da je popolnoma berljiv. Poglejte, kako je prva beseda glagol? Cmdlets se začnejo z besedami dejanj, tako da takoj veste, kaj počne. ChildItem sta dva samostalnika.

Drugi del cmdlet -a nam bo vedno povedal, kaj bo PowerShell uporabil za dejanje. ChildItem pomeni vse otroke starševske lokacije. To je tako, kot bi rekel, da vse datoteke, ki so v mapi, pri čemer so datoteke podrejene, mapa pa nadrejena.

Za kaj cmdlet dobi otroške predmete? Vse v spremenljivki $ TempFileLocation. PowerShell bo šel na lokacijo, ki smo jo prej vnesli v $ TempFileLocation, in dobil vse podrejene predmete, ki so tam. Nato jih bo postavil v spremenljivko $ TempFile.

Torej, kaj je s -Ponovi del? To pove Get-ChildItem da greš skozi vse na tem mestu. Ne pojdite po datoteke takoj v nadrejeno mapo. Če so v tej mapi mape, vzemite vse njihove otroke, njihove otroke itd. Vse jih bomo dobili.

$ TempFileCount = ($ TempFile) .štetje

Da, ustvarjamo tretjo spremenljivko, imenovano $ TempFileCountin v to spremenljivko bomo vnesli številko. Kje je številka? No, ($ TempFile) .count nam bo prinesel to številko. Verjetno ste ugotovili, da bo del .count opravil štetje vseh datotek, ki smo jih pravkar shranili v $ TempFile.

Zakaj smo to storili? Večinoma zato, ker je lepo vedeti, koliko neuporabnih datotek čistimo s preostalim scenarijem, da lahko ugotovimo, kako učinkovit je bil.

if ($ TempFileCount -eq 0)

Zdaj nastavljamo pogojno izjavo. Vidite, da sprašuje "če". Če kaj? Če je v oklepajih res ali ne. Oklepaji so pomembni, sicer pa If ne ve, kaj bi primerjal. Tu se sprašuje, ali je številka, ki smo jo shranili $ TempFileCount je enaka nič.

The -ekv je okrajšava za enake. To je vrsta primerjalnega operaterja. To je kot, če svojim otrokom rečete: "Če je vaša soba čista, super, bomo nekaj naredili ..." Ta izjava pravi, če je naslednja stvar shranjena v $ TempFileCount -enaka nič.

{Write -Host "V mapi $ TempFileLocation ni datotek" -ForegroundColor Green}

To je tisto, kar se bo zgodilo, če $ TempFileCount je nič. Kodrasti oklepaji so pomembni. PowerShellu naročijo, naj naredi samo tisto, kar je v njih, če je $ TempFileCount enako nič.

Na gostitelja ali na zaslon bo zapisal: »V mapi C: \ Users \ username \ Appdata \ Local \ Temp \*ni datotek. Parameter na koncu, -Barva v ospredju pove PowerShell -u, naj naredi besedilo zeleno. Tako je lažje razlikovati od sporočila o napaki, ki je običajno rdeče.

Sicer pa

Veste, kaj še pomeni. To je del "Vaša soba naj bo čista ali drugače ..." del preverjanja, ali je vaš otrok očistil svojo sobo. To se bo zgodilo, če $ TempFileCount ni nič.

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

To pravi, da pojdite na trenutno lokacijo, shranjeno v $ TempFile. Navpična črta po njej se imenuje cev. Deluje nekako kot cev iz resničnega življenja, saj pove PowerShellu, da vsebino datoteke $ TempFile pretoči v ukazno kodo, kot da bi bila voda dovedena v pralni stroj. Nato cmdlet Odstrani element naredi, kar piše; odstrani vse, kar je na tem mestu.

The -Kaj če parameter je na tej stopnji zelo pomemben. PowerShell -u pove, naj zažene ukaz, vendar ga samo preizkusite in ničesar ne odstranite. Pokažite nam, kaj bi se zgodilo, če bi to res storili.

To vam omogoča, da preizkusite ukaze, ne da bi pri tem kaj spremenili v računalniku. Pustite -WhatIf tam, dokler vam ne bo všeč, da bo skript naredil, kar želite, in nič drugega. Potem samo izbrišite to in skript bo opravil svoje delo.

Parameter -Potrdite: $ false ustavi skript, da vpraša, ali res želite izbrisati datoteko. Veš kaj -Ponovi naredi. -Sila pomeni izbrisati to stvar ne glede na vse. -Opozorilo je nastavljeno na Tiho Nadaljuj.

To preprečuje, da bi vam skript dal opozorila o tem, kaj brišete. -ErrorAction je nastavljeno na Tiho Nadaljuj tako da, če pride do kakšne napake v procesu, se kar naprej drgne.

Zdaj smo pri zadnji vrstici.

Write -Host "Očiščene datoteke $ TempFileCount v mapi $ TempFileLocation" -ForegroundColor Green}

Tako kot Gostitelji pisanja prvič, bo izšel naslednji stavek, zato vemo, kaj se je zgodilo. Povedal nam bo, koliko datotek je bilo izbrisanih iz mape, ki jo je pravkar obdeloval, in to naredil v zeleni barvi, da jo boste lažje opazili.

Poglejmo celoten scenarij:

$ TempFileLocation = "C: \ Users \ guymcd \ Appdata \ Local \ Temp \*"
$ TempFile = Get -ChildItem $ TempFileLocation -Recurse
$ TempFileCount = ($ TempFile) .štetje
if ($ TempFileCount -eq "0") {
Write -Host "V mapi $ TempFileLocation ni datotek" - ForegroundColor Green
}
Sicer {
$ TempFile | Remove -Item -Confirm: $ false -Recurse -Force -WarningAction TihoContinue -ErrorAction TihoContinue
Write -Host "Očiščene datoteke $ TempFileCount v mapi $ TempFileLocation" -ForegroundColor Green
}

To lahko kopirate in prilepite v svoj PowerShell ISE in shranite kot nekaj takega delete-TemporaryFiles.ps1. Prav tako se lahko držite konvencije poimenovanja cmdlet, ko jih razumete.

Če vam koda iz nekega razloga ne deluje, lahko tudi prenesite skript PowerShell smo ustvarili in samo zagnali. Najprej ga odprite, da si ogledate datoteko skripta.

Kadar koli želite zagnati ta skript, z desno miškino tipko kliknite nanj in izberite Zaženite s programom PowerShell. Konzola PowerShell se bo pojavila za sekundo ali dve, medtem ko bo vaš skript naredil svoje, nato pa izginila, če ne bo napak.

Kje lahko izvem več o PowerShell -u?

To se mi zdi veliko! Za vaš prvi skript PowerShell je to pošteno. Če ste prišli tako daleč, ploskajte sami. Danes ste se veliko naučili, zdaj pa želite izvedeti več. To je super!

Na internetu je veliko virov za več informacij o PowerShellu. Dober začetek je naš članek, "Ustvarite seznam zagonskih programov prek ukazne vrstice ali PowerShell”. Nato si oglejte te druge vire:

  • Uvod v Microsoft PowerShell - Microsoftova navidezna akademija
  • PowerShell Vadnica - TutorialsPoint.com

Dobrodošli na Help Desk Geek- blogu, polnem tehničnih nasvetov zaupanja vrednih tehničnih strokovnjakov. Imamo na tisoče člankov in vodnikov, ki vam pomagajo odpraviti katero koli težavo. Naši članki so bili od objave leta 2008 prebrani več kot 150 milijonov krat.

Sovražimo tudi neželeno pošto, kadar koli se odjavite.

Za šifriranje sporočil v Gmailu uporabite te 4 vtičnike za Chrome
Za šifriranje sporočil v Gmailu uporabite te 4 vtičnike za Chrome

Če uporabljate Gmail, imate že vgrajen šifriranje ko vaša e -poštna sporočila potujejo po Googlov...

Namizna aplikacija Evernote: Vse funkcije za priročno zapisovanje
Namizna aplikacija Evernote: Vse funkcije za priročno zapisovanje

Evernote je zmogljivo orodje za več platform za zapisovanje, shranjevanje posnetkov iz spleta in ...

Kako brez težav raztrgati DVD-je in Blu-ray z MakeMKV
Kako brez težav raztrgati DVD-je in Blu-ray z MakeMKV

Ne glede na dvomljivo zakonitost, ki jo obdaja, je vse. približno trdim, da imate vso pravico nar...