Windows tietoturvan perusteet

Powershell

Helppo
10 min

Mikä on Powershell?

PowerShell on Microsoftin kehittämä komentosarjakieli ja komentokehote, joka on suunniteltu erityisesti järjestelmänhallintaan ja automatisointiin. Se yhdistää komentojen suorittamisen, skriptauksen ja konfiguraationhallinnan yhteen monipuoliseen työkaluun.

PowerShell on rakennettu .NET-kehysalustalle, mikä tarkoittaa, että se tukee .NET-kirjastoja. Käytännössä tämä tarkoittaa sitä, että jos satut olemaan tuttu esimerkiksi C# -ohjelmointikielen kanssa, pystyt Powershellistä käyttämään sieltä tuttuja luokkia ja funktioita (.NET moduuleja).

Powershellin käynnistys

Löydät powershellin kun kirjoitat "powershell" Windows-napin takaa löytyvään hakukenttään. Älä valitse ylintä, mustaa "PowerShell 7" vaan ota sininen "Windows PowerShell".

PowerShellin Perusteet

cmdletit

PowerShellin peruskomponentteja ovat cmdletit (lausutaan "command-lets"), jotka ovat pieniä komentoja, joita käytetään tiettyjen tehtävien suorittamiseen. Esimerkiksi Get-Command cmdlet listaa kaikki käytettävissä olevat cmdletit, ja Get-Help tarjoaa ohjeita cmdletin käyttöön.

Powershellissa on aliaksia

Edellinen esimerkin Get-Process -komennon voi ajaa myös sen aliaksella ps.

Komennon aliakset saat selville Get-Help komennon avulla.

Get-Help cmdlet

Kun haluat apua jonkun cmdletin kanssa, voit käyttää Get-Help cmdlettiä.

Skriptaus ja Powershell ISE

PowerShell mahdollistaa skriptien kirjoittamisen, jotka ovat joukko cmdletejä ja muita komentoja, jotka suoritetaan järjestyksessä. Skriptit tallennetaan .ps1-päätteisiin tiedostoihin.

Skriptejä on näppärä kirjoittaa ja testata Powershell ISE -editorissa.

Putket (Pipelines)

PowerShellissa voit lähettää yhden cmdletin tuloksen toiselle cmdletille putken (|) avulla, mikä mahdollistaa monimutkaisten komentosekvenssien rakentamisen yksinkertaisilla komponenteilla.

Esimerkiksi, aiempi esimerkki jossa haettiin prosessit voitaisiin putkittaa Where-Object -cmdletille joka osaa suodattaa edellisen komennon palauttamat objektit niiden attribuuttien arvon perusteella. Näin voitaisiin listata vain prosessit jotka käyttävät tällä hetkellä yli 10% CPU:sta.

Get-Process | Where-Object {$_.CPU -gt 10}

Powershell palauttaa objekteja

Get-Process on cmdlet joka listaa prosessit. Päällepäin tuloste näyttää samankaltaiselta kuin Unix-maailman "ps" -komennon tuloste.

Unixin ja Powershellin komennoissa on kuitenkin perustavanlaatuinen ero: PowerShell palauttaa objekteja, ei tekstiä. Objektit on vain muotoiltu tekstiksi. Objektin tyyppi voidaan nähdä Get-Member cmdletillä.

Tehtävät

Windows -harjoittelua

Labra kestää pari minuuttia käynnistyä, odotathan kärsivällisesti ja lisää aikaa tarvittaessa. Sinun ei tarvitse sulkea labraa välissä kun siirryt moduulista toiseen tällä kurssilla. Voit kirjautua RDP:llä palvelimelle tunnuksella "EVILCORP\john.doe" ja salasanalla "Letmein123!"

Selvitä Windowsin käyttöjärjestelmäversio

Saat version selville tällä PowerShell -komennolla:

(Get-CimInstance -ClassName Win32_OperatingSystem).Version

Käyttöjärjestelmän versio

hakatemia pro

Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.

Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.