PowerShellin käyttäminen kotikäyttäjille – Aloittelijan opas

Kukapa ei toivoisi voivansa olla velho ja lausua muutaman sanan saadakseen taianomaisia ​​asioita tapahtumaan? No(Well) , emme voi näyttää sinulle kuinka olla velho, mutta voimme näyttää kuinka tehdä vähän tietokonetaikaa.

Jos sinulla on Windows - tietokone, jossa on Windows 7 , sinulla on PowerShell . Lisäksi, jos sinulla on tietokone, jossa on Windows 7 , päivitä se turvallisuuden vuoksi.

Mutta tämä artikkeli ei ole vain Windows - ihmisille. PowerShellin(PowerShell) uusin versio on ilmainen, ja se voidaan asentaa ja käyttää Mac- ja Linux - tietokoneissa.

Se on tärkeää, koska PowerShellistä oppimaasi(PowerShell) tietoa voidaan käyttää melkein missä tahansa tietokoneessa. Kuka tietää? Saatat viedä tämän taidon uudelle tasolle ja uskaltautua tietotekniikan(Information Technology) uralle .

Mikä on PowerShell?

Microsoftin(Microsoft) korkean teknologian vastaus on, että se on “…komentorivin kuori, joka on suunniteltu erityisesti järjestelmänvalvojille. †Kuulostaa(” Sounds) pelottavalta. Mutta se ei ole. Pidätkö huolta tietokoneestasi? Kyllä, silloin olet talosi järjestelmänvalvoja.

Kerrotko tietokoneellesi, mitä tehdä klikkauksilla ja näppäinpainalluksilla? Kyllä, joten ajattele komentorivin kuorta vain yhdeksi ikkunaksi, johon kirjoitat asioita ja kerrot tietokoneellesi, mitä tehdä. Sinä pystyt tähän.

PowerShell on kuin ohjelmointikieli, mutta ei niin salaperäinen kuin useimmat. Se todellakin lukee paljon kuin tavallista englantia(English) , johon Microsoft pyrki, jotta muut kuin ohjelmoijat voisivat poimia sen.

Se on tapa kirjoittaa muutama komentorivi, jota kutsutaan komentosarjaksi, jotta Windows - käyttöjärjestelmä saadaan tekemään jotain, mitä haluat sen tekevän. Tämän jälkeen voit tallentaa kyseiset rivit tiedostoon ja suorittaa sen yhdellä napsautuksella tai ajoittaa sen suorittamaan säännöllisesti.

Mitä voit tehdä PowerShellillä?

PowerShellin huippukohta(PowerShell) on kyky automatisoida tehtäviä, joten sinun ei tarvitse tuhlata aikaa arkipäiväisten asioiden tekemiseen toistuvasti. Ammattimaiselle järjestelmävastaavalle(Systems Administrator) se voisi olla esimerkiksi uusien käyttäjien luomista, salasanojen luomista heille ja tiedot sisältävän sähköpostin lähettämistä uudelle esimiehelle.

Manuaalisesti, napsautuksella ja kirjoittamalla tehty prosessi voi kestää 5 minuutista jopa tuntiin tai enemmän. Oikeilla skripteillä järjestelmänvalvojan(Systems Administrator) ei ehkä tarvitse edes tehdä mitään osaa siitä.

Mutta haluat tietää, mitä voit tehdä PowerShellillä(PowerShell) kotona. Melkein kaikkea, mitä et halua tehdä uudestaan ​​​​ja uudestaan. Käytä sitä vapauttaaksesi tilaa kiintolevyltäsi poistamalla väliaikaisia ​​ja lokitiedostoja, joita et tarvitse.

Aseta ulkonaliikkumiskielto lapsesi tietokoneelle. Nimeä(Rename) tai järjestä joukko tiedostoja uudelleen. Siinä on PowerShellin(PowerShell) kauneus . Melkein(Almost) mitä tahansa voit tehdä tietokoneellasi, voit luoda PowerShell -komentosarjan automatisoitavaksi ja suoritettavaksi yhdellä napsautuksella tai aikataulun mukaan.

Kuinka käytän PowerShellia?

Helpoin tapa työskennellä PowerShellin(PowerShell) kanssa on PowerShell Integrated Scripting Environment (ISE) -ympäristössä(PowerShell Integrated Scripting Environment (ISE)) . Löydät sen napsauttamalla Käynnistä(Start) -painiketta ja kirjoittamalla Windows 10 :n hakupalkkiin powershell ise . Sinun pitäisi nähdä se alla olevan kuvan mukaisesti.

Ensimmäistä kertaa kun käytämme sitä, aiomme käyttää sitä järjestelmänvalvojana(Administrator) . Tätä varten sinulla on ensin oltava järjestelmänvalvojan oikeudet tietokoneellasi. Napsauta Käynnistä-valikossa(Start Menu) hiiren kakkospainikkeella PowerShell ISE :tä ja napsauta sitten Suorita järjestelmänvalvojana(Run as Administrator) .

Saatat saada User Access Control ( UAC ) -varoituksen, jossa kysytään, haluatko varmasti tehdä tämän. Napsauta Kyllä(Yes) .

Nyt tarkastelet PowerShell IDE :tä . Ikkunan yläruutu (1) on komentosarjaruutu. Täällä kirjoitat käsikirjoituksesi. Ikkunan alapaneeli (2) on konsolialue. Kun testaat skriptiä, näet tulosteen tässä ruudussa.

Täällä näet myös virheilmoituksia ja sellaisia, jotka auttavat sinua korjaamaan ja parantamaan skriptejäsi. Ikkunan oikealla puolella oleva ruutu (3) on komento-lisäosa. Ajattele sitä sanakirjana kaikista käytettävissäsi olevista PowerShell - komennoista.

PowerShell on asetettu olemaan suorittamatta muita komentosarjoja kuin ne, jotka ovat jo osa Windowsia(Windows) . Sinun on muutettava sitä, jotta voit suorittaa omia komentosarjojasi.

Kopioi ja liitä komentosarjaikkunassa seuraavat:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Sen Set-ExecutionPolicy- osaa kutsutaan cmdletiksi (lausutaan komentosarja). Cmdletit ovat tehokkaita asioita. Ajattele(Think) niitä lyhyinä komentoina, jotka voit antaa Windowsille(Windows) , ja Windows tekee joukon monimutkaisempia asioita täyttääkseen komennon.

Analogia olisi käskeä lapsesi siivoamaan huoneensa. Lyhyesti(Short) ja ytimekkäästi. Jos lapsesi on perehtynyt huoneen siivoukseen, hän menee petaamaan sänkynsä, laittamaan pyykkinsä koriin, hyllyttämään lelunsa ja kirjansa ja ehkä jopa imuroimaan lattian. He ymmärtävät, että Clean-YourRoom- cmdlet tarkoitti kaikkea sitä.

Näet ikkunan yläosassa vihreän nuolenpään. Napsauta(Click) sitä suorittaaksesi komennon.

-ExecutionPolicy -(-ExecutionPolicy) osa kertoo Set-ExecutionPolicylle(Set-ExecutionPolicy) , mikä käytäntö on asetettava. Se on parametri. Se sanoo: "Haluan, että työskentelet näiden ohjeiden mukaisesti ja teet nimenomaan tämän. Se käskee sitä käyttämään erityistä RemoteSigned - käytäntöä .

RemoteSigned -(RemoteSigned ) käytännön mukaan PowerShell ei saa suorittaa tai ajaa mitään (PowerShell)Internetistä(Internet) ladattua komentosarjaa, ellei sitä ole allekirjoittanut luotettava julkaisija.

Pyöreällä tavalla se kertoo PowerShellille(PowerShell) , että on hyvä ajaa mitä tahansa paikallisesti luotua komentosarjaa, koska niitä ei tarvitse allekirjoittaa luotettavan etäjulkaisijan toimesta. Nyt PowerShell -skriptisi pystyy suorittamaan mitä tahansa tietokoneellasi kirjoittamaasi komentosarjaa.

Katsotaanpa komentosarjaa väliaikaisten tiedostojen poistamiseksi. Se ei ole yhtä tehokas tai perusteellinen kuin CCleaner , mutta CCleanerilla(CCleaner) on omat ongelmansa.

(Use PowerShell)Luo (Create Space)tilaa(Your Hard Drive) kiintolevyllesi PowerShellin avulla

Erittelemme tämän skriptin rivi riviltä, ​​jotta voit nähdä, kuinka se toimii. Lopussa skripti näytetään kokonaan, joten voit kopioida ja liittää sen, jos haluat.

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

Kaikki, jonka edessä on dollarimerkki, on muuttujanimi. Ajattele sitä kuin lompakkoa, johon voit laittaa arvotavaraa. Lompakko(Wallet) muistuttaa meitä dollarin merkistä, arvoesineet kuulostaa muuttuvilta, joten muistamme senkin. Luomme lompakkoa tai muuttujaa, jonka nimi on $TempFileLocation . Yhtälömerkki kertoo PowerShellille(PowerShell) , mitä muuttujaan tulee laittaa.

Tässä tapauksessa asetamme Windowsin väliaikaisten tiedostojen sijainnin C:\Users\username\AppData\Local\Temp\* . Teemme tämän kahdesta syystä; se on paikka, josta tiedostojen poistaminen on aina turvallista, ja aiomme sen avulla kertoa PowerShellille(PowerShell) , minne sen täytyy mennä tiedostojen poistamiseksi.

Jos siinä lukee käyttäjänimi, vaihda se käyttäjänimellesi. Tämä on käyttäjänimi, jota käytät kirjautuessasi sisään tietokoneellesi. Sen lopussa oleva tähti (*) on jokeri kortti. Se edustaa kaikkea Temp -kansiossa olevaa , koska kaikki Temp - kansiossa oleva on väliaikaista ja haluamme poistaa sen.

Myös kaksoislainausmerkit sijainnin ympärillä ovat tärkeitä. Se kertoo PowerShellille(PowerShell) , että siinä on merkkijono. Ajattele(Think) merkkijonoa kirjaimien ja merkkien merkkijonona. Jos ne olisivat tavallisia numeroita, emme käyttäisi lainausmerkkejä.

$TempFile = Get-ChildItem $TempFileLocation -Recurse

Teemme toisen muuttujan. Tällä kertaa aiomme käyttää komentoa keksimään jotain, joka laitetaan $TempFile - muuttujaan.

Get-ChildItem 

Toinen asia, jonka huomaat Get-ChildItemin( Get-ChildItem) kaltaisissa cmdletissä , on, että se on täysin luettavissa. Katso kuinka ensimmäinen sana on verbi? Kaikki cmdletit(Cmdlets) alkavat toimintasanoilla, joten tiedät heti, mitä se tekee. ChildItem on kaksi substantiivia.

cmdletin toinen osa kertoo meille aina, mihin PowerShell käyttää toimintoa. ChildItem tarkoittaa kaikkia vanhemman sijainnin lapsia. Tämä on kuin sanoisi, että hanki kaikki kansiossa olevat tiedostot, jolloin tiedostot ovat lapsia ja kansio on vanhempi.

Mistä cmdlet saa alikohteet? Kaikki muuttujassa $TempFileLocation . PowerShell aikoo mennä sijaintiin, jonka laitoimme $ TempFileLocation -kohtaan(TempFileLocation) aiemmin, ja hakee kaikki siellä olevat alikohteet. Sitten se sijoittaa ne muuttujaan $TempFile .

Joten, mitä -Recurse- osassa on? Se käskee Get-ChildItemiä(Get-ChildItem) käymään läpi kaikki kyseisessä paikassa. Älä vain mene hakemaan tiedostoja heti yläkansioon. Jos kansiossa on kansioita, hanki myös kaikki heidän lapsensa ja heidän lapsensa ja niin edelleen. Aiomme hankkia ne kaikki.

$TempFileCount = ($TempFile).count

Kyllä, luomme kolmatta muuttujaa nimeltä $TempFileCount , ja laitamme tähän muuttujaan luvun. Missä numero on? No, ( $TempFile).count saa meille tuon luvun. Olet luultavasti tajunnut, että .count- osa laskee kaikki tiedostot, jotka olemme juuri tallentaneet $ TempFileen(TempFile) .

Miksi teimme tämän? Lähinnä siksi, että on mukavaa tietää, kuinka monta hyödytöntä tiedostoa siivoamme pois käsikirjoituksen lopulla, jotta voimme kertoa, kuinka tehokas se oli.

if($TempFileCount -eq 0)

Nyt asetamme ehdollisen lausunnon. Voit nähdä, että se kysyy "jos". Jos mitä? Onko suluissa oleva asia totta vai tarua. Sulut ovat tärkeitä, muuten If ei tiedä mitä vertailla. Tässä kysytään, onko $TempFileCount tallentamamme numero nolla.

-eq on yhtäläisten lyhenne . (-eq)Se on eräänlainen vertailuoperaattori. Se on kuin kertoisi lapsillesi: "Jos huoneesi on puhdas, hieno, aiomme tehdä jotain" Tämä lausunto kertoo, jos $ TempFileCount -kansioon tallennettu numero on(TempFileCount) -yhtä kuin nolla. seuraava asia.

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

Tämä on asia, joka tapahtuu, jos $TempFileCount on nolla. Kiharat hakasulkeet ovat tärkeitä. He käskevät PowerShellia(PowerShell) tekemään vain sen, mikä on niiden sisällä, jos $ TempFileCount on nolla.

Se kirjoittaa isännälle tai näytölle: "Kansiossa C:\Users\username\Appdata\Local\Temp\* ei ole tiedostoja". Lopussa oleva parametri – ForegroundColor käskee PowerShellia(PowerShell) muuttamaan tekstin vihreäksi. Tämä vain helpottaa erottamista virheilmoituksesta, joka on tavallisesti punainen.

Else

Tiedät mitä muuta tarkoittaa. Tämä on "huoneesi parempi olla puhdas tai muuten" osa sen tarkistamista, siivosiko lapsesi huoneensa. Näin tapahtuu, jos $TempFileCount ei ole nolla.

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

Tämä sanoo mene nykyiseen sijaintiin, joka on tallennettu tiedostoon $TempFile . Pystyviivaa sen jälkeen kutsutaan putkeksi. Se toimii kuin tosielämän putki, koska se käskee PowerShellia ohjaamaan $ (PowerShell)TempFilen(TempFile) sisällön cmdletiin , ikään kuin se olisi vettä, joka johdetaan pesukoneeseen. Sitten cmdlet Remove-Item tekee sen, mitä se sanoo; se poistaa kaiken, mitä kyseisessä paikassa on.

-WhatIf -( -WhatIf ) parametri on erittäin tärkeä tässä vaiheessa. Se käskee PowerShellia(PowerShell) suorittamaan komennon, mutta vain kokeilemaan sitä, älä poista mitään. Näytä(Just) meille, mitä tapahtuisi, jos todella tekisimme tämän.

Tämän avulla voit testata komentoja muuttamatta mitään tietokoneessa. Jätä -WhatIf sinne, kunnes olet vakuuttunut siitä, että käsikirjoitus tekee mitä haluat sen tekevän, eikä mitään muuta. Poista sitten se ja skripti tekee tehtävänsä.

Parametri -Confirm:$false estää skriptiä kysymästä, haluatko todella poistaa tiedoston. Tiedät mitä -Recurse tekee. -Pakottaminen( -Force) tarkoittaa sen poistamista riippumatta siitä, mitä. -WarningAction -asetuksena on SilentlyContinue .

Tämä estää skriptiä antamasta varoituksia siitä, mitä olet poistamassa. -ErrorAction- asetuksena on SilentlyContinue , joten jos prosessissa tapahtuu minkäänlaisia ​​virheitä, se vain jatkaa tökkimistä.

Nyt ollaan viimeisellä rivillä.

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

Aivan kuten Write-Host teki ensimmäisen kerran, se tulostaa seuraavan lauseen, joten tiedämme mitä on tapahtunut. Se kertoo meille, kuinka monta tiedostoa poistettiin juuri käsitellystä kansiosta, ja tekee sen vihreänä, jotta se on helppo havaita.

Katsotaanpa käsikirjoitusta kokonaan:

$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
}

Voit kopioida ja liittää tämän PowerShell ISE :hen ja tallentaa sen nimellä delete-TemporaryFiles.ps1 . Voit yhtä hyvin pitää kiinni cmdlet-komentojen nimeämiskäytännöstä nyt, kun ymmärrät ne.

Jos koodi ei jostain syystä toimi sinulle, voit myös ladata luomamme PowerShell-komentosarjan ja suorittaa sen. Pura(Just) se ensin nähdäksesi komentosarjatiedoston.

Aina kun haluat suorittaa tämän skriptin, napsauta sitä hiiren kakkospainikkeella ja valitse Suorita PowerShellin kanssa(Run with PowerShell) . PowerShell - konsoli ponnahtaa esiin sekunniksi tai kahdeksi, kun skripti tekee tehtävänsä, ja katoaa sitten, jos virheitä ei ole.

Mistä voin oppia lisää PowerShellistä?

Se näyttää olevan paljon! Ensimmäiselle PowerShell -skriptille se on melkoinen. Jos olet päässyt näin pitkälle, kehu itseäsi. Olet oppinut tänään paljon, mutta nyt haluat oppia lisää. Se on hienoa!

Internetissä(Internet) on paljon resursseja, joiden avulla voit oppia lisää PowerShellistä(PowerShell) . Hyvä paikka aloittaa on artikkelimme " Luo käynnistysohjelmien luettelo komentorivin tai PowerShellin kautta"(Generate a List of Startup Programs via Command Line or PowerShell) . Tarkista sitten nämä muut resurssit:



About the author

Olen ammattimainen ääniinsinööri, jolla on yli 10 vuoden kokemus. Olen työskennellyt monenlaisissa projekteissa pienistä kodin äänijärjestelmistä suuriin kaupallisiin tuotantoihin. Taitoni on luoda erinomaisia ​​ääniraitoja ja äänenkäsittelytyökaluja, jotka saavat musiikin kuulostamaan upealta. Olen myös erittäin kokenut Windows 10:n kanssa, ja voin auttaa sinua saamaan kaiken irti tietokonejärjestelmästäsi.



Related posts