3. PowerShell 2.0
• Mikä on PowerShell?
• PowerShellin versiot
• PowerShellin komennot
• PowerShellin käyttäminen
4. Mikä on PowerShell?
• Microsoftin ensimmäinen oikea komentotulkki
– PowerShell = CMD.exe ^ 2
– Tarkoitettu administraattoreille ja ylläpitotehtävien automatisointiin
• Yllättävän helppokäyttöinen, eikä vaadi ohjelmointikokemusta
– On skriptattavissa (tiedostopääte .ps1)
– Voidaan kustomoida profiileilla ja funktioilla, sekä laajentaa 3rd party
laajennuksilla
– Mahdollistaa pääsyn rekisteriin, WMI:hin ja Active Directoryyn
vaivattomasti
– Rakennettu .Net Frameworkin päälle
• Ei prosessoi tekstiä vaan olioita
• PowerShell on olio-pohjainen komentotulkki
– Etäkäyttö on mahdollista versiosta 2.0 eteenpäin
5. PowerShellin versiot
• Versio 1.0
• Versio 2.0
– CTP (Community Technology Preview)
– CTP2
– CTP3
– RTM Windows 7:n ja Windows Server 2008 R2:n mukana
• Uusia ominaisuuksia 2.0:ssa on paljon, mutta tärkeimmät ovat:
– Etäkäyttö (komennoissa –ComputerName parametrejä)
– Tausta-ajo (background job)
– ScriptCmdlets (omat skripteillä tehtävät komennot)
– Uusia komentoja
– Graafinen käyttöliittymä skriptaamiseen
6. PowerShellin komennot
• PowerShellin nerokkuus piilee uusissa komennoissa:
– Cmdletejä löytyy noin 130 kappaletta valmiina PowerShell 1.0:sta, ja
235 kappaletta PowerShell 2.0:sta, mutta komentopohjaa voi myös
laajentaa
– Komennot koostuvat muodosta:
Verbi–Substantiivi
(Verb-Noun)
– Muutamia esimerkkejä cmdleteistä:
Get-Process
Get-Help
Set-Alias
7. PowerShellin komennot
• Valmiina noin 130/235 cmdlet:ä
– Lista saadaan komennolla Get-Command
• Microsoftilla eri tuotteisiin laajennuksia
– Exchange 2007
– System Center Operations Manager 2007
– SQL Server 2008
• Kolmansilla osapuolilla lisää
– Quest Software on tehnyt ilmaisen Active Directory
cmdlet-paketin http://www.quest.com/powershell/
8. PowerShellin komennot
• Haasteena PowerShellissä on oppia uudet komennot
– Command-let (cmdlet)
– (Verbi-Substantiivi) (Verb-Noun)
• Kaikkien komentojen äiti PowerShellissä:
• Lista vain on pitkä, joten kannattaa filtteröidä:
Get-Command
Get-Command –verb Get
Get-Command –noun Process
9. PowerShellin käyttäminen
• Tärkein asia muistaa PowerShellistä on komento:
• Toiseksi tärkein asia on muistaa miten saada apua
• Voi käyttää myös lyhenteitä help ja man
– Kyseessä ei ole cmdletit vaan funktiot!
• Normaalisti Get-Help tulostaa vain kuvauksen komennosta,
mutta lisäparametreillä voi lisätä näytettäviä tietoja
– Detailed
– Full
– Examples
Get-Command
Get-Help <command-letin nimi>
11. PowerShellin käyttäminen
• Command-letit ovat käytännössä aika typeriä
– Tiedostotulostus komennolla Get-Childitem
• Komennoista on olemassa aliaksia, ja niitä voidaan tehdä myös lisää
– Olemassaolevat aliakset listataan komennolla Get-Alias
– Esimerkkejä:
– Dir, ls Get-Childitem
– Copy Copy-Item
– Gcm Get-Command
12. PowerShellin käyttäminen
• Tarvittaessa on mahdollista kirjoittaa useita komentoja tai
lyhyitä skriptejä funktioksi, jota voi PowerShellissä kutsua
useita kertoja
• Funktiot voidaan kirjoittaa myös profiiliin, jolloin ne ovat
saatavilla myös seuraavalla kerralla kun PowerShell
käynnistyy
• Olemassaolevat funktiot listataan komennolla:Get-Command –commandtype function
14. PowerShellin käyttäminen
• PowerShell voidaan kustomoida
– Omilla laajennuksilla
– Promptin vaihtamisella
– Aliaksilla
– Funktioilla
• Kustomoinnit ovat voimassa vain istunnon ajan
• Jos muutokset halutaan ladattavan aina kun PowerShell
käynnistyy, käytetään profiileja
15. PowerShellin käyttäminen
• Muuttujat määritellään $-merkillä
• Olemassa sisäänrakennettuja muuttujia
– $pshome
– $home
– $profile
• Muuttujaan voidaan tallentaa myös cmdletin tulostus
• Muuttujaa voidaan käyttää komennon syötteenä
$muuttuja = ”Dataa”
$muuttuja = Get-Process
$muuttuja = ”C:”
Cd $muuttuja