Opi uutta

PowerShell perusteet

Mikko Surakka 13.08.2018 1 min lukuaika

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.

Jaa artikkeli

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.

Lue lisää aiheesta

Blogi

Miten teen projektin budjetin?

21.04.2022
Sami Eromäki
Blogi

Pääkäyttäjän merkitys

15.04.2019
Kari Joki-Hollanti
Blogi

UX – pelkkä trendikäs termi vai aito asia?

16.01.2023
Jussi Saarela