PowerShell perusteet

PowerShell on komentorivityökalu, joka on tarkoitettu IT-ammattilaisille erilaisten tehtävien automatisointiin. PowerShellin avulla voit tehdä asioita, jotka eivät graafisesta käyttöliittymästä onnistu. Tämä artikkeli kertoo PowerShellin perusteet ja edellyttää lukijalta teknistä osaamista ja halua koodata.

Johdanto

PowerShell on Microsoftin kehittämä hallinta- ja automaatiotyökalu palvelin ja työasema ympäristöjen hallintaan. Alun perin PowerShell oli tarkoitettu vain Windows ympäristöjen hallintaan, mutta versiosta 6.0 alkaen PowerShellilla pystytään ylläpitämään myös Linux ja MacOS käyttöjärjestelmiä.

PowerShell 5.1 versio on asennettuna automaattisesti Windows 10 ja Windows Server 2016 käyttöjärjestelmissä. Löydät sen Käynnistä-valikosta kohdasta ”Windows PowerShell” tai klikkaamalla Käynnistä -> Suorita -> ja kirjoittamalla powershell

 

 

 

 

Käytännössä kaikkia Microsoftin tuotteita voidaan hallita suoraan PowerShellillä graafisen käyttöliittymän sijasta, niin paikallisesti kuin myös etänä. Jo opittuja komentokehote komentoja ei tarvitse opetella uudelleen, vanhoja komentoja voi käyttää PowerShell commandin (cmdlets) rinnalla. Pääsääntöisesti PowerShell komennot ovat monipuolisempia ja helppokäyttöisempiä kuin vanhat komentokehote komennot. Komennot ovat myös helposti löydettävissä sisäänrakennetun ohjeen kautta.

Esimerkkejä:

DOS pohjaiset komennot toimivat kuten ennen, esim. dir, systeminfo tai ipconfig, mutta myös useat Unix Shell komennot toimivat, kuten ls tai pwd.

 

 

 

Prosessit

PowerShell cmdletsit ovat näppäriä komentoja verbi-substantiivi muodossa, esimerkiksi Get-Process, Test-Path tai Start-Process

Esimerkiksi Get-Process komennolla voidaan hakea kaikki työasemassa pyörivät prosessit. Tällä voidaan vaikka varmistaa että työasemassa on varmasti kaikki Lemonsoft ohjelmat sammutettuna ennen versiopäivitystä.

Pelkkä Get-Process antaa pitkän listan kaikista prosesseista, mutta määrittämällä parametri -Name *Lemonsoft* palautetaan vain Lemonsoft nimiset prosessit ja lisäämällä -ComputerName ”työasema” haetaan etätyöaseman tai palvelimen prosessit:

Get-Process -Name *Lemonsoft* -ComputerName ”työasema”

 

 

 

 

 

Versiotieto

Voit tarkistaa asennetun Lemonsoft version suoraan kirjastojen versiotiedoista komennolla Get-Item ”tiedostopolku”

Pelkkä komento Get-Item ”c:\Program Files (x86)\Lemonsoft\Lemonsoft\Lemonsoft.CommonLibrary.dll” ei vielä palauta kuin perustietoja:

 

 

 

 

 

 

Mutta lisäämällä | Format-List -Property * saadaan jo tarkempaa infoa tiedostosta:

Get-Item ”c:\Program Files (x86)\Lemonsoft\Lemonsoft\Lemonsoft.CommonLibrary.dll” | Format-List -Property *

Lisäämällä vielä komentoon .VersionInfo.ProductVersion päästään porautumaan pelkkään versiotietoon, joka voidaan tallentaa muuttujaan myöhempää käyttöävarten.

$versionumero = (Get-item ”c:\Program Files (x86)\Lemonsoft\Lemonsoft\Lemonsoft.CommonLibrary.dll”).VersionInfo.ProductVersion

Artikkelin toisessa osassa automatisoidaan ja ajastetaan PowerShell skriptejä, jolloin voidaan vähentää manuaalisesti rutiineja.

Mikko Surakka
Tietohallintopäällikkö
Lemonsoft Oy