Download - PowerShell 2.0 Webinaari 6.9.2010
PowerShell 2.0
Kouluttajan esittely
Jarno MäkiDirector, Training OperationsM.Eng, MCT, MCITP, MCSE:Security, MCTS
Osaamisalueet:• Järjestelmänhallinta• Skriptaus ja PowerShell• Palvelininfrastruktuuri
PowerShell 2.0
• Mikä on PowerShell?• PowerShellin versiot• PowerShellin komennot• PowerShellin käyttäminen
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
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
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-ProcessGet-HelpSet-Alias
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/
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
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>
PowerShellin käyttäminen
• Cmdlet-komennoilla on ”jäseniä”– Metodeja (methods)– Ominaisuuksia (properties)
• Jäsenet selvitetään Get-Member cmdletillä
Get-Process | Get-Member
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
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
PowerShellin käyttäminen
• Funktion luominenFunction Testi { write-host ”Teppotesti” }
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
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
PowerShellin käyttäminen
• Prosessien hallintaan liittyvät cmdletit:– Get-Process– Stop-Process
• Vinkkejä prosessien listaamiseen:
• Prosessin pysäyttäminen
Get-Process c*Get-Process [ce]*Get-Process [ce]* | Format-Table processname,idGet-Process [ce]* | Format-Table processname,id –autosizeGet-Process | Format-Table –group Company
Notepad.exeGet-Process notepad | stop-process
PowerShellin käyttäminen
• Palveluiden hallintaan liittyvät cmdletit:– Get-Service– New-Service– Set-Service– Start-Service– Stop-Service– Restart-Service (!)– Suspend-Service– Resume-Service
PowerShellin käyttäminen
• Palveluiden listaaminen
• Stopped-tilassa olevien palveluiden listaaminen
• Palvelun käynnistys
• Palvelun käynnistys paluuarvolla
Get-Service | Sort Status
Get-Service | Where {$_.Status –eq ”Stopped”}
Start-Service <palvelun nimi>
Start-Service <palvelun nimi>$palveluntila = Get-Service <palvelun tila>$palveluntila.Status
PowerShellin käyttäminen
• WMIn hyödyntämiseen löytyy cmdlet Get-Wmiobject (gwmi)
• Esimerkkejä:
Get-Wmiobject –computername <koneen nimi> –class <luokka>
Get-Wmiobject –class Win32_Operatingsystem
Get-Wmiobject –class Win32_LogicalDisk | where {$_.Drivetype –eq 3}
Get-Wmiobject –class Win32_Operatingsystem –computername wks001,wks002 | Format-Table
PowerShellin käyttäminen
• Komennon suorittaminen toisella koneella WMI:n kautta
$c = Get-Wmiobject –list –computername ”london” | Where { $_.Name –eq ”Win32_Process” }
$c.Create(”cmd.exe /k gpupdate /force”)
PowerShellin käyttäminen
• Active Directoryn hallintaan löytyy Quest Softwarelta ilmainen laajennus(ActiveRoles cmdlet)– Windows Server 2008 R2:sta löytyy natiivina AD:n
hallintatyökaluthttp://www.quest.com/powershell/
• Laajennuksista löytyy komentoja mm. hakuihin:
• Objektien luomiseen:
Get-QADUser –searchroot ’domain.com/OU’
Get-QADUser administrator
New-QADUser –name ’Juuseri’ –parentcontainer ’ou=testi, dc=domain, dc=com’ –samaccountname ’juuseri’ –userpassword P@ssw0rd
Koulutus- ja konsultointitarjontaa
• PowerShell! –kurssi 2 päivää (835) • Microsoft Winows –järjestelmien edistynyt hallinta
skriptaamalla –kurssi 2 päivää (812) • Hallinnan automatisointi VBScriptillä ja PowerShellillä • PowerShell- ja VBScript-konsultointia
• MCITP: Server Administrator –koulutusohjelma 9 päivää (446)• MCITP: Enterprise Administrator –koulutusohjelma 12 päivää
(449)
Lisätiedot www.salcom.fi
Kiitos!