PowerShell: Automation for Everyone
 

PowerShell: Automation for Everyone

on

  • 427 views

Intergen's Solution Architect and Microsoft MVP Gavin Barron presented "PowerShell: Automation for everyone" during the MVP CompCamp 2014, a worldwide event ran during the weekend of 22-23 March ...

Intergen's Solution Architect and Microsoft MVP Gavin Barron presented "PowerShell: Automation for everyone" during the MVP CompCamp 2014, a worldwide event ran during the weekend of 22-23 March 2014.

Gavin's blog: http://gavinb.net/

Statistics

Views

Total Views
427
Slideshare-icon Views on SlideShare
419
Embed Views
8

Actions

Likes
0
Downloads
11
Comments
0

4 Embeds 8

http://www.linkedin.com 3
http://www.intergen.co.nz 3
http://www.slideee.com 1
http://www.intergen.com.au 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    PowerShell: Automation for Everyone PowerShell: Automation for Everyone Presentation Transcript

    • Gavin Barron, Solution Architect March 22, 2014 ComCamp Auckland PowerShell: Automation for Everyone
    • The only five commands you need Rules for writing scripts Demos Intro Wrap up Our agenda
    • PowerShell: Automation for Everyone | 3  SharePoint Server MVP  Developer  Skier  http://gavinb.net  @gavinbarron  gavin.barron@intergen.co.nz Gavin Barron Solution Architect Your presenter
    • PowerShell: Automation for Everyone | 4 Why Automate?  Repeatability  Reliability  Save time?  Eliminate boring manual tasks
    • PowerShell: Automation for Everyone | 5 Why PowerShell?  Product specific cmdlets  Able to run .NET code  Hooks into WMI/COM  Object pipeline  Readable scripts
    • The only five commands you need
    • Your Awesome Presentation Title {Segoe UI 12 pt.} Get-Command
    • Your Awesome Presentation Title {Segoe UI 12 pt.} Get-Help
    • Your Awesome Presentation Title {Segoe UI 12 pt.} Get-Member
    • Your Awesome Presentation Title {Segoe UI 12 pt.} Where-Object
    • Your Awesome Presentation Title {Segoe UI 12 pt.} ForEach-Object
    • Demos
    • Your Awesome Presentation Title {Segoe UI 12 pt.} Find the command you need
    • Your Awesome Presentation Title {Segoe UI 12 pt.} Simple Pipeline Use
    • PowerShell: Automation for Everyone | 15 File renaming in .bat @echo off for /f "delims=" %%a in ('dir /b *.txt') do call :dot "%%a" pause goto :EOF :dot set "var=%~n1" set "var=%var:.=_%" echo ren %1 "%var%%~x1"
    • Rules for writing scripts
    • PowerShell: Automation for Everyone | 17 Consider error cases  What should you do when it goes pear shaped?  Default behaviour is Ignore and Continue  $ErrorActionPreference  -ErrorAction  try{} catch{}
    • PowerShell: Automation for Everyone | 18 Consider your outputs  Write-Host  Write-Output  Write-Progress  Add-Content  Out-File
    • PowerShell: Automation for Everyone | 19 Have style!  Use a coding convention  Naming  Casing  Bracing  Avoid aliases  Be Consistent!
    • PowerShell: Automation for Everyone | 20 Leverage functions for re-use  Small tasks  Compose a script from functions  Functions are highly reusable  Cmdlet Binding Attribute  Parameters Attribute  Default Values
    • PowerShell: Automation for Everyone | 21 Use configuration files $file =[xml] (Get-ChildItem $constantsFilePath) $root = "setup-config" $ConstantsNodeList = $file.$root.Constants foreach($property in $ConstantsNodeList.Property) { $key= $property.Key $value=$property.Value $webApp.Properties.Add($key,$value) } $webApp.Update()
    • Your Awesome Presentation Title {Segoe UI 12 pt.} Script Examples
    • Wrap up
    • Your Awesome Presentation Title {Segoe UI 12 pt.} Start scripting, it’s easy!
    • PowerShell: Automation for Everyone | 25 Handy resources  http://blogs.technet.com/b/heyscriptingguy  http://gallery.technet.microsoft.com/scriptcenter  http://social.technet.microsoft.com/Forums/scriptcenter/en- US/home?forum=ITCG  http://ss64.com/ps/  http://ss64.com/ps/syntax.html
    • Any questions?
    • Email: gavin.barron@intergen.co.nz Blog: http://gavinb.net Twitter: @gavinbarron Thank you