SlideShare a Scribd company logo
Introduction to PowerShellLearn it before it become URGENTSalaudeen.Rajack@Gmail.comBlog: http://www.Salaudeen.Blogspot.com
AgendaWhat is PowerShell ?Problems with existing scripting language (VB script)How PowerShell solves the security issuesBasic commands in PowershellGUI (IDE) for PowershellHow to get help in PowerShellAliasSnap-insCmd-lets in PowerShellVariablesUnderstanding the pipe lineOperators in PowerShellLogical OperatorsSorting, Measuring, Select, Filter and compareExport, Import, ConvertFunctions Regular expressionsArrays and Hash TableXML handling
What is PowerShell?NEW scripting platform for Microsoft productsOne scripting language – Multiple productsWindows Desktop OS, Server OSSharePointSQL ServerSCOM/SCDPM/SVCMMExchange ServerVMWARE/Citrix Runs on top of .net framework, 2.0+Automate almost every thing you can do with GUI (some times, things which are not possible with GUI)Not just command prompt or Script language, But Command-Shell.It’s the Microsoft Way…Shell prompt, just like DOS shell, But more powerful
Restricted - No scripting allowed unrestricted - You can any scriptingno signing requiredRemote signed – good for test, dev environmentsonly files from internet need to be signeddefault settingAll signed  - local, remote script, it should be signed.user must agree to run scriptPowerShell’s Execution Policy
No common scripting for all the products.Net codeCOM ModelExeVBScriptScripts are really security concern, because they do have lot of powerEcho “Welcome”Del *.* ???Top Concerns:IntegrityIdentityDouble click RunCommand HijackingPowerShell addresses this issue by introducing Executing PolicyProblems with Existing scripting languages
“built-in” commands for PowerShell“verb-noun” nameseg. get-childitem (= ls)but: new-alias, new-objectextensible set: can write own cmdletsHeart and Soul of PowerShellEngine that make powershell work. They are the small units of functionality that perform the operations.Cmdlets
Basic TourShell promptHelp systemGetting help:Get-helpGet-help –verb getGet-help –noun fileGet-help  stop-process –examplesGet-help  stop-process –fullGet-help “sp*Out-filePs>file1.txt     ps>>file2.txtPs |out-file process.txtGet-content
Snap-InPowershell snap-in provides a mechanism for registering sets of cmdletsExample: similar to MMC Set of cmd-lets for a specific product	Eg. SharePointGet-pssnapinLists the core functionalityGet-Pssnapin – registeredShows the installed cmd-LetsTo Add a new PS Snapin:Add-Snapin <snap-in-Name>
Basic cmd-lets for process, servicesAsk Help: help *process*Get-process  > Alias psEg. Get-process –name  calcHow to get the –name parameter? Get-process | get-memberStop-process -> Alias KillStop-process –name calc Stop-process –name calc –whatifServicesGet-service <service name>Restart-service <service name>Stop-service <service name>
Basic cmd-lets for process, services (Cont.)Get-service –include “Sharepoint*”Get-service –exclude “Sharepoint*”Event log:Get-eventlogEg. get-eventlog system –newest 10Get-eventlog | -newest 10 format-listIDEPowerGUI - Open source yet powerfull, FREEPowershell + Primal script ISE – PowerShell 2.0
Variables	Powershell assigns best suited data type for variables when assignedNew-variable  -name var –value 10Or$var=10Remove-variable –name varIt supports Int, Datetime, Bool, string, Char, byte, decimal, array, xmlVariables are actually .net objects$test=“honeywell”Can say $test.toUpper()User get-member to retrieve all the member of the objectCan force the data type by [string]$var=5$var.gettype().fullname
PipelinesCommands manipulates and passes objects from One to anotherEg: Get the list of process -> filter > stop ->formatGet-process | where-object {$_.status –eq “Stopped”} |format-listGet-process | out-file C:\process.txtGet-process | out-Printer <Name of the printer>Write-output vs write-hostFirst one sends output to the pipeline, Second doesn’tWrite-output “Hello” |where-object {$_.length – gt 2}We have some additional options like –foregroundcolorDCDA
OperatorsAll Basic math operations: +, -, *, /, %5+5; 10-1; 8*2; 10%3; 5+(5*5)ComparisonEQ10 –eq 5LT, -GT, -GE, -LEString comparison: not case sensitive“Hello” – eq “HELLO” > trueForcing case sensitive:“Hello” – ceq “HELLO” > trueLogical operators AND OR NOT
Sort – Measure –Select - filterSortGet-process | sort-object VM –descGet-service |sort statusMeasureGet-service |measure-objectGet-service |measure-object –property VM –sum –min-max –averageSelectGet-service | select-object displayname,statusGet-process | select-object –first 10
Export-Import and compareExport-CSVGet-process |export-csvExport-CSV$process=import-csv c:\sa.csvCompare:$p1=get-processNow open a new process, say calc$p2=get-processCompare-object $p1, $p2 –property name
Logical constructsIF, Switch, For, WhileIF, Switch – DecisionFor, while – loopingEg IF($var –gt 100) { write-host “yes”}Elseif(){}Else{}
Logical constructsSwitcheg$company =“Honeywell”Switch($var){“Wipro” {write-host “wipro”}“Honeywell” {write-host “wipro”}Default {write-host “Not in list”}}
WhileWhile, Do…Until, Do..while$var=1While($var – lt 10)	{	write-host $var$var++}For-eachEg.	$services=get-serviceForeach($x in $services){ write-host $x.name.toupper()}
Script BlockExecutes the block of code from file, variable$b={write-host “Hello”}$b >>write-host “hello”To Execute : &$bFunctions:Function sayHello(){  write-host “Hello”}sayHello
Functions Cont.Function sayHello($SenderName){  write-host “Hello” + $senderName}sayHello “Honeywell”SayHello “honeywell” -> write-host “Hello” $args[0]Return statement:	function determine{ if($var – gt 10){return $true}Else{return $false}}
Regular expressionStandard for Pattern matchingUse –MatchEg. 	“Honeywell” –match “Honey”. (dot) – one char* - Zero or more match   “A” match “t*”+ - one or more match “TTT” match “^T+”? – Zero or one match[AB] – either A or B^ - start $ - end  eg. “Sala” –match “^s..A$”\w – any word character  -W –Non word\s – space    -S\d   -D(n,m) eg. “TTTT” –match “^T{4, 6}”
Strings, Arrays, Hash tables$H=“Honeywell”$h.lengthSay “hello” >> “Say “”hello”””Array: $arr=1,2,3  or $arr=@(1,2,3)$arr2=@((1,1),(2,2),(3,3))Get : $arr2[1][1]Hash table:$Hash=@{No=1;”CName“=“Honeywell”}$hash.no$hash[“Cname”]
XML$MyXML=[XML] @”<addressBook><Person type=“personal”><name>ABC</name><Phone>123</phone></person></addressbook>“@$myXML.AddressBook$myXML.Person$myXML.Person[0]
ResourcesDownload powershell through Microsoft.comVideoshttp://channel9.msdn.com/Media/?TagID=163Blogshttp://blogs.msdn.com/powershellhttp://thepowershellguy.comhttp://keithhill.spaces.live.comhttp://www.leeholmes.com/blogPowerShell Installation Instructions: http://shrinkster.com/rpyPowerTab by MoW - http://shrinkster.com/rpx“MSH Logo” by Lee Holmes - http://shrinkster.com/rpwPowerShell Community Extensionshttp://www.codeplex.com/PowerShellCXMSDN - http://shrinkster.com/rpuHow to create a cmdlet: http://shrinkster.com/rpvBlogsPowerShell Team Blog - http://blogs.msdn.com/powershell/Lee Holmes - http://www.leeholmes.com/blog/David Aiken - http://blogs.msdn.com/daiken/The PowerShell Guy (MoW) - http://thepowershellguy.com/Popular Newsgroupmicrosoft.public.windows.powershell
Thank youSalaudeen.Rajack@Gmail.comBlog: http://www.Salaudeen.Blogspot.com

More Related Content

PPT
PowerShell Technical Overview
PDF
Introduction to PowerShell
PPTX
Windows PowerShell
TXT
An a z index of windows power shell commandss
PPTX
Powershell Tech Ed2009
PPTX
PowerShell-1
ODP
Asynchronous Threads in Lasso 8.5
PDF
Scala4sling
 
PowerShell Technical Overview
Introduction to PowerShell
Windows PowerShell
An a z index of windows power shell commandss
Powershell Tech Ed2009
PowerShell-1
Asynchronous Threads in Lasso 8.5
Scala4sling
 

What's hot (20)

PDF
WINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISE
PPTX
Powershell Demo Presentation
PDF
Writing Redis in Python with asyncio
PPTX
ColdFusion ORM - Advanced : Adobe Max 2009
PPTX
How to perform debounce in react
PPTX
Professional Help for PowerShell Modules
PPTX
Java Play RESTful ebean
PPTX
Java Play Restful JPA
PDF
OSMC 2014: Monitoring VoIP Systems | Sebastian Damm
PPT
Hw09 Monitoring Best Practices
PDF
Microservices blue-green-deployment-with-docker
PDF
PPTX
PowerShell Fundamentals
PPTX
Introduction to Powershell Version 5
PDF
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
PDF
node.js practical guide to serverside javascript
PDF
WordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cli
ODP
Web program-peformance-optimization
PPT
Gearmanpresentation 110308165409-phpapp01
PDF
CPAN 模組二三事
WINDOWS ADMINISTRATION AND WORKING WITH OBJECTS : PowerShell ISE
Powershell Demo Presentation
Writing Redis in Python with asyncio
ColdFusion ORM - Advanced : Adobe Max 2009
How to perform debounce in react
Professional Help for PowerShell Modules
Java Play RESTful ebean
Java Play Restful JPA
OSMC 2014: Monitoring VoIP Systems | Sebastian Damm
Hw09 Monitoring Best Practices
Microservices blue-green-deployment-with-docker
PowerShell Fundamentals
Introduction to Powershell Version 5
Mасштабирование микросервисов на Go, Matt Heath (Hailo)
node.js practical guide to serverside javascript
WordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cli
Web program-peformance-optimization
Gearmanpresentation 110308165409-phpapp01
CPAN 模組二三事
Ad

Viewers also liked (20)

PPTX
PowerShell crash course
PPTX
Basic PowerShell Toolmaking - Spiceworld 2016 session
PPT
PS error handling and debugging
PPT
Ha & drs gotcha's
PPT
PowerShell 8tips
PPTX
Implementing dr w. hyper v clustering
PPTX
Meet Windows PowerShell
PPT
PowerShell v4 Desired State Configuration
PPT
Free tools for win server administration
KEY
PowerShell and the Future of Windows Automation
PPTX
Managing enterprise with PowerShell remoting
PPT
PDF
Advanced Tools & Scripting with PowerShell 3.0 Jump Start - Certificate
PPT
No-script PowerShell v2
PPT
Automating Active Directory mgmt in PowerShell
PPTX
VDI-in-a-Box: Microsoft Desktop Virtualization for Smaller Businesses and Uses
PPTX
PowerShell and WMI
PPTX
Combining output from multiple sources
PPTX
PowerShell crashcourse for Sharepoint admins
PPTX
Ive got a powershell secret
PowerShell crash course
Basic PowerShell Toolmaking - Spiceworld 2016 session
PS error handling and debugging
Ha & drs gotcha's
PowerShell 8tips
Implementing dr w. hyper v clustering
Meet Windows PowerShell
PowerShell v4 Desired State Configuration
Free tools for win server administration
PowerShell and the Future of Windows Automation
Managing enterprise with PowerShell remoting
Advanced Tools & Scripting with PowerShell 3.0 Jump Start - Certificate
No-script PowerShell v2
Automating Active Directory mgmt in PowerShell
VDI-in-a-Box: Microsoft Desktop Virtualization for Smaller Businesses and Uses
PowerShell and WMI
Combining output from multiple sources
PowerShell crashcourse for Sharepoint admins
Ive got a powershell secret
Ad

Similar to Introduction to powershell (20)

PPT
Introduction to PowerShell
PPT
NIIT ISAS Q5 Report - Windows PowerShell
PPTX
Introduction to windows power shell in sharepoint 2010
PPT
Powershell Seminar @ ITWorx CuttingEdge Club
PDF
PowerShell for SharePoint Developers
PPTX
Windows power shell basics
PPTX
Getting Started With PowerShell Scripting
PPTX
NZ Code Camp 2011 PowerShell + SharePoint
ODP
An Introduction to Windows PowerShell
PPT
PowerShell Core Skills (TechMentor Fall 2011)
PPT
Introduction To Managing VMware With PowerShell
PPTX
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
PPTX
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
PPTX
Get-Help: An intro to PowerShell and how to Use it for Evil
PPT
SharePoint Administration with PowerShell
PDF
Introduction to WP-CLI: Manage WordPress from the command line
PPSX
Sunil phani's take on windows powershell
PDF
Basic commands for powershell : Configuring Windows PowerShell and working wi...
ODP
AutoScaling and Drupal
PPTX
Admin share point with powershell
Introduction to PowerShell
NIIT ISAS Q5 Report - Windows PowerShell
Introduction to windows power shell in sharepoint 2010
Powershell Seminar @ ITWorx CuttingEdge Club
PowerShell for SharePoint Developers
Windows power shell basics
Getting Started With PowerShell Scripting
NZ Code Camp 2011 PowerShell + SharePoint
An Introduction to Windows PowerShell
PowerShell Core Skills (TechMentor Fall 2011)
Introduction To Managing VMware With PowerShell
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
Get-Help: An intro to PowerShell and how to Use it for Evil
SharePoint Administration with PowerShell
Introduction to WP-CLI: Manage WordPress from the command line
Sunil phani's take on windows powershell
Basic commands for powershell : Configuring Windows PowerShell and working wi...
AutoScaling and Drupal
Admin share point with powershell

Recently uploaded (20)

PPTX
sap open course for s4hana steps from ECC to s4
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Spectroscopy.pptx food analysis technology
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Cloud computing and distributed systems.
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
sap open course for s4hana steps from ECC to s4
Unlocking AI with Model Context Protocol (MCP)
Spectroscopy.pptx food analysis technology
“AI and Expert System Decision Support & Business Intelligence Systems”
Cloud computing and distributed systems.
Dropbox Q2 2025 Financial Results & Investor Presentation
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The Rise and Fall of 3GPP – Time for a Sabbatical?
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Encapsulation theory and applications.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
MIND Revenue Release Quarter 2 2025 Press Release
Advanced methodologies resolving dimensionality complications for autism neur...
Spectral efficient network and resource selection model in 5G networks
Network Security Unit 5.pdf for BCA BBA.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
The AUB Centre for AI in Media Proposal.docx

Introduction to powershell

  • 1. Introduction to PowerShellLearn it before it become URGENTSalaudeen.Rajack@Gmail.comBlog: http://www.Salaudeen.Blogspot.com
  • 2. AgendaWhat is PowerShell ?Problems with existing scripting language (VB script)How PowerShell solves the security issuesBasic commands in PowershellGUI (IDE) for PowershellHow to get help in PowerShellAliasSnap-insCmd-lets in PowerShellVariablesUnderstanding the pipe lineOperators in PowerShellLogical OperatorsSorting, Measuring, Select, Filter and compareExport, Import, ConvertFunctions Regular expressionsArrays and Hash TableXML handling
  • 3. What is PowerShell?NEW scripting platform for Microsoft productsOne scripting language – Multiple productsWindows Desktop OS, Server OSSharePointSQL ServerSCOM/SCDPM/SVCMMExchange ServerVMWARE/Citrix Runs on top of .net framework, 2.0+Automate almost every thing you can do with GUI (some times, things which are not possible with GUI)Not just command prompt or Script language, But Command-Shell.It’s the Microsoft Way…Shell prompt, just like DOS shell, But more powerful
  • 4. Restricted - No scripting allowed unrestricted - You can any scriptingno signing requiredRemote signed – good for test, dev environmentsonly files from internet need to be signeddefault settingAll signed - local, remote script, it should be signed.user must agree to run scriptPowerShell’s Execution Policy
  • 5. No common scripting for all the products.Net codeCOM ModelExeVBScriptScripts are really security concern, because they do have lot of powerEcho “Welcome”Del *.* ???Top Concerns:IntegrityIdentityDouble click RunCommand HijackingPowerShell addresses this issue by introducing Executing PolicyProblems with Existing scripting languages
  • 6. “built-in” commands for PowerShell“verb-noun” nameseg. get-childitem (= ls)but: new-alias, new-objectextensible set: can write own cmdletsHeart and Soul of PowerShellEngine that make powershell work. They are the small units of functionality that perform the operations.Cmdlets
  • 7. Basic TourShell promptHelp systemGetting help:Get-helpGet-help –verb getGet-help –noun fileGet-help stop-process –examplesGet-help stop-process –fullGet-help “sp*Out-filePs>file1.txt ps>>file2.txtPs |out-file process.txtGet-content
  • 8. Snap-InPowershell snap-in provides a mechanism for registering sets of cmdletsExample: similar to MMC Set of cmd-lets for a specific product Eg. SharePointGet-pssnapinLists the core functionalityGet-Pssnapin – registeredShows the installed cmd-LetsTo Add a new PS Snapin:Add-Snapin <snap-in-Name>
  • 9. Basic cmd-lets for process, servicesAsk Help: help *process*Get-process > Alias psEg. Get-process –name calcHow to get the –name parameter? Get-process | get-memberStop-process -> Alias KillStop-process –name calc Stop-process –name calc –whatifServicesGet-service <service name>Restart-service <service name>Stop-service <service name>
  • 10. Basic cmd-lets for process, services (Cont.)Get-service –include “Sharepoint*”Get-service –exclude “Sharepoint*”Event log:Get-eventlogEg. get-eventlog system –newest 10Get-eventlog | -newest 10 format-listIDEPowerGUI - Open source yet powerfull, FREEPowershell + Primal script ISE – PowerShell 2.0
  • 11. Variables Powershell assigns best suited data type for variables when assignedNew-variable -name var –value 10Or$var=10Remove-variable –name varIt supports Int, Datetime, Bool, string, Char, byte, decimal, array, xmlVariables are actually .net objects$test=“honeywell”Can say $test.toUpper()User get-member to retrieve all the member of the objectCan force the data type by [string]$var=5$var.gettype().fullname
  • 12. PipelinesCommands manipulates and passes objects from One to anotherEg: Get the list of process -> filter > stop ->formatGet-process | where-object {$_.status –eq “Stopped”} |format-listGet-process | out-file C:\process.txtGet-process | out-Printer <Name of the printer>Write-output vs write-hostFirst one sends output to the pipeline, Second doesn’tWrite-output “Hello” |where-object {$_.length – gt 2}We have some additional options like –foregroundcolorDCDA
  • 13. OperatorsAll Basic math operations: +, -, *, /, %5+5; 10-1; 8*2; 10%3; 5+(5*5)ComparisonEQ10 –eq 5LT, -GT, -GE, -LEString comparison: not case sensitive“Hello” – eq “HELLO” > trueForcing case sensitive:“Hello” – ceq “HELLO” > trueLogical operators AND OR NOT
  • 14. Sort – Measure –Select - filterSortGet-process | sort-object VM –descGet-service |sort statusMeasureGet-service |measure-objectGet-service |measure-object –property VM –sum –min-max –averageSelectGet-service | select-object displayname,statusGet-process | select-object –first 10
  • 15. Export-Import and compareExport-CSVGet-process |export-csvExport-CSV$process=import-csv c:\sa.csvCompare:$p1=get-processNow open a new process, say calc$p2=get-processCompare-object $p1, $p2 –property name
  • 16. Logical constructsIF, Switch, For, WhileIF, Switch – DecisionFor, while – loopingEg IF($var –gt 100) { write-host “yes”}Elseif(){}Else{}
  • 17. Logical constructsSwitcheg$company =“Honeywell”Switch($var){“Wipro” {write-host “wipro”}“Honeywell” {write-host “wipro”}Default {write-host “Not in list”}}
  • 18. WhileWhile, Do…Until, Do..while$var=1While($var – lt 10) { write-host $var$var++}For-eachEg. $services=get-serviceForeach($x in $services){ write-host $x.name.toupper()}
  • 19. Script BlockExecutes the block of code from file, variable$b={write-host “Hello”}$b >>write-host “hello”To Execute : &$bFunctions:Function sayHello(){ write-host “Hello”}sayHello
  • 20. Functions Cont.Function sayHello($SenderName){ write-host “Hello” + $senderName}sayHello “Honeywell”SayHello “honeywell” -> write-host “Hello” $args[0]Return statement: function determine{ if($var – gt 10){return $true}Else{return $false}}
  • 21. Regular expressionStandard for Pattern matchingUse –MatchEg. “Honeywell” –match “Honey”. (dot) – one char* - Zero or more match “A” match “t*”+ - one or more match “TTT” match “^T+”? – Zero or one match[AB] – either A or B^ - start $ - end eg. “Sala” –match “^s..A$”\w – any word character -W –Non word\s – space -S\d -D(n,m) eg. “TTTT” –match “^T{4, 6}”
  • 22. Strings, Arrays, Hash tables$H=“Honeywell”$h.lengthSay “hello” >> “Say “”hello”””Array: $arr=1,2,3 or $arr=@(1,2,3)$arr2=@((1,1),(2,2),(3,3))Get : $arr2[1][1]Hash table:$Hash=@{No=1;”CName“=“Honeywell”}$hash.no$hash[“Cname”]
  • 24. ResourcesDownload powershell through Microsoft.comVideoshttp://channel9.msdn.com/Media/?TagID=163Blogshttp://blogs.msdn.com/powershellhttp://thepowershellguy.comhttp://keithhill.spaces.live.comhttp://www.leeholmes.com/blogPowerShell Installation Instructions: http://shrinkster.com/rpyPowerTab by MoW - http://shrinkster.com/rpx“MSH Logo” by Lee Holmes - http://shrinkster.com/rpwPowerShell Community Extensionshttp://www.codeplex.com/PowerShellCXMSDN - http://shrinkster.com/rpuHow to create a cmdlet: http://shrinkster.com/rpvBlogsPowerShell Team Blog - http://blogs.msdn.com/powershell/Lee Holmes - http://www.leeholmes.com/blog/David Aiken - http://blogs.msdn.com/daiken/The PowerShell Guy (MoW) - http://thepowershellguy.com/Popular Newsgroupmicrosoft.public.windows.powershell