Getting Started With PowerShell Scripting
-
Upload
ravikanth-chaganti -
Category
Technology
-
view
4.548 -
download
4
description
Transcript of Getting Started With PowerShell Scripting
![Page 1: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/1.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
Getting started with PowerShell Scripting
Ravikanth C
![Page 2: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/2.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
A lead engineer at Dell SharePoint professional by day and
PowerShell scripter at night Blog at http://www.ravichaganti.com/blog Developer of
◦ PSCodePlex◦ PSRemoteFileExplorer◦ Remote File Explorer PowerPack◦ BITS File Transfer PowerPack
Author of◦ Free eBook - Layman’s guide to PowerShell 2.0
remoting (Coming soon)
About me
![Page 3: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/3.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
What is PowerShell? Getting started Using PowerShell Getting Help Tools for the job Learning resources Q & A
Agenda
![Page 4: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/4.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
Remote file explorer -> 698 lines of PowerShell
This is just one example..!
Show me the Power first.!
![Page 5: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/5.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
The best shell scripting environment for Windows◦ A new scripting language◦ Replacement for a weak Windows command-line
Default management / automation platform for all Microsoft products going forward
Object based◦ Built on top of .NET type system◦ Everything is an object
What is PowerShell?
DOS Batch PowerShell@echo off setLocal EnableDelayedExpansion set /a value=0 set /a sum=0 FOR /R %1 %%I IN (*) DO ( set /a value=%%~zI/1024 set /a sum=!sum!+!value! ) @echo Size is: !sum! k
$size=0;Get-ChildItem C:\Scripts | % { $Size+=$_.Length}
![Page 6: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/6.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
PowerShell is in version 2.0 Default on Windows 7 and Windows Server
2008 Part of Windows management framework
download for Windows Server 2008, Vista, XP and Windows 2003◦ http://support.microsoft.com/kb/968929
Requires .NET 2.0 SP1 or later
Getting started
![Page 7: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/7.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
Console history, Intellisense for cmdlets, variables and parameters
Using PowerShell: Console
![Page 9: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/9.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
Using PowerShell: Cmdlets
Pronounced as command-let A lightweight command
an instance of .NET framework classes Use verb-noun pairs
◦ Get-Verb to list all approved verbs
![Page 10: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/10.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
Not case-sensitive Default value is $null Cmdlets to manage variables
◦ Clear-Variable◦ Get-Variable◦ New-Variable◦ Remove-Variable◦ Set-Variable
Using PowerShell: Variables
![Page 11: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/11.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
Types◦ User created variables◦ Automatic variables
Created by PowerShell to maintain its state Cannot be modified Examples: $PSHome, $$, $^, $?, etc
◦ Preference variables Created by PowerShell to store user preferences Can be modified Examples: $MaximumHistoryCount, etc
Using PowerShell: Variables
![Page 12: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/12.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
Alternate names for cmdlets Cmdlets to manage aliases
◦ Export-Alias◦ Get-Alias◦ Import-Alias◦ New-Alias◦ Set-Alias
Cannot take parameters◦ Workaround: put the statement in a script and
alias to that Example: Dir, ls, gcm, gci, etc
Using PowerShell: Aliases
![Page 13: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/13.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
Conditional statements◦ If◦ Switch
l.ooping◦ For
For ($i=0;$i –le 10;$i++) {Write-Host $i}◦ Foreach
Used on a collection of items Foreach ($name in $namesArray) { Write-Host $name }
◦ Do Do { Write-Host $i; $i++ } while ($i –le 10) Do { Write-Host $i;$i++} Until ($i –lt 10)
◦ While While ($i –le 10) { Write-Host $i;$i++ }
Using PowerShell: Conditional & Looping
![Page 14: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/14.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
Comparison operators◦ -ne, -eq, -lt, -gt, -ge, -le, -like, -notlike, -contains, -
notcontains, -match, -notmatch Logical operators
◦ -or, -and, -xor, -not, ! Arithmetic operators Assignment operators
Using PowerShell: Operators
![Page 15: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/15.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
Arrays◦ Collection of objects of the same type◦ $a = @( )◦ $a = “PowerShell”,”VBScript”
Hash Tables◦ Collection of key value pairs◦ $ hash = @{ }◦ $a = {“Name”=“PowerShell”; “IsHot”=$true}
Using PowerShell: Arrays & Hash Tables
![Page 16: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/16.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
Getting Help Get-Command
◦ Gets a list of all commands Get-Help
◦ Shows help for a given cmdlet Get-Member
◦ Gets members of an object Get-PSDrive
◦ Shows information stores in PowerShell About_Topics
◦ Get-Help about*
![Page 17: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/17.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
In PowerShell, there will be more than one way to do the same thing. For example◦ [System.Diagnostics.Process]::GetProcesses()◦ Get-Process
Understand execution policies Use PowerShell profiles
Best practices
![Page 18: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/18.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
PowerShell Console PowerShell ISE PowerGUI AdminConsole PowerGUI ScriptEditor PowerWF PowerShell Plus
Tools for the job
![Page 19: Getting Started With PowerShell Scripting](https://reader033.fdocuments.net/reader033/viewer/2022051514/54b721684a7959a00c8b462f/html5/thumbnails/19.jpg)
Email: [email protected]: @RavikanthBlog: http://www.ravichaganti.com
Getting started guide PowerShell Learning center Free PowerShell eBook The scripting Guys blog PowerScripting Podcast @PSBUG on Twitter
Learning resources