PowerShell perusteet

Julkaistu: 13.08.2018

Aiheet: . Opi uutta

« takaisin lemonnews etusivulle

Mikko Surakka

Toimin tietohallintopäällikkönä Lemonsoftilla ja vastaan Lemonsoftin omasta alustapalvelusta. Työkokemusta IT-puolelta on kertynyt jo vuosituhannen alusta saakka. Tavoitteena on tarjota käyttäjille paras alustaratkaisu Lemonsoft käyttöön, mahdollistaen asiakkaiden keskittymisen omaan ydinbisnekseen omien IT-ympäristöjen ylläpitämisen sijaan.

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.

« takaisin lemon news etusivulle

Mikko Surakka

Toimin tietohallintopäällikkönä Lemonsoftilla ja vastaan Lemonsoftin omasta alustapalvelusta. Työkokemusta IT-puolelta on kertynyt jo vuosituhannen alusta saakka. Tavoitteena on tarjota käyttäjille paras alustaratkaisu Lemonsoft käyttöön, mahdollistaen asiakkaiden keskittymisen omaan ydinbisnekseen omien IT-ympäristöjen ylläpitämisen sijaan.