Geoff Varosky
July 26, 2014
Automating Your Enterprise
Application Deployments with
PowerShell
Presentation Title | (#)
About Me
• Jornata
– Senior Architect & Office 365 Practice Lead
– President & Co-Founder Boston ...
We Are Hiring
in NYC!
SharePoint Developer
Technical Designer / Front End Developer
UX Software Engineer
UX Software Archi...
Presentation Title | (#)
About Me
• Jornata
– Managing Consultant, Senior Architect, Office 365 Practice Lead
– President ...
Presentation Title | (#)
Agenda
• Why Automation?
• PowerShell
• Environment Deployment
• Application Deployment
• Further...
Presentation Title | (#)
Poll
• Who is using SharePoint?
– 2010?
– 2013?
• SharePoint Developers?
• SharePoint Administrat...
Presentation Title | (#)
Why Automation?
• Pros
– “Almost” human-less deployments
– Re-Deployment
– Restoration
– Document...
Presentation Title | (#)
Why Automation?
• Cons
– Possible significant up-front time
– Knowledge of PowerShell needed
– No...
Presentation Title | (#)
PowerShell
• What is it?
– More flexible, faster, extensible, and POWERful than STSADM
– Scriptin...
Presentation Title | (#)
PowerShell
• Cmdlets
– PowerShell Commands
– Can create your own
– Standardized using a verb-noun...
Presentation Title | (#)
PowerShell
• The Basics
– Get-Command
– Get-Help
– Piping
– Select-Object
– Tab Completion
Presentation Title | (#)
PowerShell
• Aliases Cmdlet DOS Alias Description
Get-Location pwd gl Current directory
Set-Locat...
Presentation Title | (#)
PowerShell
• SharePoint Management Shell
– Loaded with SharePoint 2010/2013
– Automatically Loads...
Presentation Title | (#)
PowerShell
• SharePoint Management Shell
– Requires PowerShell 2.0
– Backwards compatible, instal...
Presentation Title | (#)
PowerShell
DEMO: SharePoint cmdlets
Presentation Title | (#)
Environment Deployment
• AutoSPInstaller
– Deploy single or multi-server farms from one script
– ...
Presentation Title | (#)
Environment Deployment
• Configure Service Applications
– User Profile Service Application
– User...
Presentation Title | (#)
Environment Deployment
• Configure Service Applications
– PerformancePoint Service Application
– ...
Presentation Title | (#)
Environment Deployment
• Create Databases based on YOUR naming conventions
Presentation Title | (#)
Environment Deployment
• Maintenance
– Any configurable change needs to be updated
– If versioned...
Presentation Title | (#)
Environment Deployment
DEMO: AutoSPInstaller Review
Presentation Title | (#)
Application Deployment
• Why deploy applications in PowerShell?
– Developers can pass installatio...
Presentation Title | (#)
Application Deployment
• What can be automated?
– Farm Configuration
– Service application config...
Presentation Title | (#)
Application Deployment
• Anatomy
– Deployment Master Script
• Variables
• Initiates Logging
• Ste...
Presentation Title | (#)
Application Deployment
• Anatomy
– Deployment Master Script
• Variables
• Initiates Logging
• Ste...
Presentation Title | (#)
Application Deployment
DEMO: Application Deployment
Presentation Title | (#)
Recommendations
• Documentation
– Provide overall Guidelines
• Basic usage, functionality
• Namin...
Presentation Title | (#)
Recommendations
• Documentation
– Function Reference
– Copy of Functions script
Presentation Title | (#)
Recommendations
• Documentation
– Script Samples
• Helps with buy-in
• Gives examples
• Re-usable...
Presentation Title | (#)
Further Refinements
• Handle all configuration via XML file variables
• Export steps to their own...
Presentation Title | (#)
Resources
• What is COM?
– http://en.wikipedia.org/wiki/Component_Object_Model
• What is WMI?
– h...
Presentation Title | (#)
Tools
• Windows PowerShell for SharePoint Command Builder
– http://go.gvaro.net/WS4s3u
• Gary Lap...
Presentation Title | (#)
Boston Area SharePoint Users Group
• Meets 2nd Wednesday/month
• 6-8PM
• Microsoft N.E.R.D. (Camb...
Presentation Title | (#)
Boston Office 365 User Group
• Meets 3rd Thursday/month
• 6-8PM
• Microsoft N.E.R.D. (Cambridge)
...
Presentation Title | (#)
About Me
• Jornata
– Managing Consultant, Senior Architect, Senior Developer, Director of Evangel...
Automating Enterprise Application Deployments with PowerShell
Upcoming SlideShare
Loading in...5
×

Automating Enterprise Application Deployments with PowerShell

240

Published on

From SharePoint Saturday NYC 2014

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
240
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Automating Enterprise Application Deployments with PowerShell"

  1. 1. Geoff Varosky July 26, 2014 Automating Your Enterprise Application Deployments with PowerShell
  2. 2. Presentation Title | (#) About Me • Jornata – Senior Architect & Office 365 Practice Lead – President & Co-Founder Boston Area SharePoint Users Group – Co-Founder and Co-Organizer Boston Office 365 Users Group – Co-Organizer SharePoint Saturday Boston • Awards – Top 25 2012 Harmon.ie Online Community Influencer – Top 50 2012 KnowledgeLake Community Influencer – 2013 Metalogix Influencers Network • Blog – www.SharePointYankee.com • Email – geoff@varosky.com • Twitter – @gvaro
  3. 3. We Are Hiring in NYC! SharePoint Developer Technical Designer / Front End Developer UX Software Engineer UX Software Architect Java Architect Software Operations Mgr (Norwalk, CT) Learn more: https://www.linkedin.com/company/blue metal-architects/careers
  4. 4. Presentation Title | (#) About Me • Jornata – Managing Consultant, Senior Architect, Office 365 Practice Lead – President & Co-Founder Boston Area SharePoint Users Group – Co-Founder and Co-Organizer Boston Office 365 Users Group – Co-Organizer SharePoint Saturday Boston • Awards – Top 25 2012 Harmon.ie Online Community Influencer – Top 50 2012 KnowledgeLake Community Influencer – 2013 Metalogix Influeners Network • Blog – www.SharePointYankee.com • Email – geoff@varosky.com • Twitter – @gvaro
  5. 5. Presentation Title | (#) Agenda • Why Automation? • PowerShell • Environment Deployment • Application Deployment • Further Refinement • Resources & Tools • Q&A
  6. 6. Presentation Title | (#) Poll • Who is using SharePoint? – 2010? – 2013? • SharePoint Developers? • SharePoint Administrators? • Familiar with Scripting Languages? (bash, batch files, perl, vbscript) • Using PowerShell?
  7. 7. Presentation Title | (#) Why Automation? • Pros – “Almost” human-less deployments – Re-Deployment – Restoration – Documented and actionable deployment – Saves on knowledge transfer – Reduces the risks of human error – Repeatable process
  8. 8. Presentation Title | (#) Why Automation? • Cons – Possible significant up-front time – Knowledge of PowerShell needed – Not managed code – Requires constant upkeep
  9. 9. Presentation Title | (#) PowerShell • What is it? – More flexible, faster, extensible, and POWERful than STSADM – Scripting Language – Based on C# – Integrated with the .NET Framework • Load in DLLs • Provides full access to COM amd WMI – Not limited to JUST PowerShell • DOS commands (with UNIX-like aliases)
  10. 10. Presentation Title | (#) PowerShell • Cmdlets – PowerShell Commands – Can create your own – Standardized using a verb-noun convention • Eat-Cake • Drink-Beer • Live-Life
  11. 11. Presentation Title | (#) PowerShell • The Basics – Get-Command – Get-Help – Piping – Select-Object – Tab Completion
  12. 12. Presentation Title | (#) PowerShell • Aliases Cmdlet DOS Alias Description Get-Location pwd gl Current directory Set-Location cd, chdir sl Change current directory Copy-Item copy cpi Copy file/directory Remove-Item del ri Remove file/directory Move-Item move mi Move a file/directory New-Item - ni New a file/directory/object Clear-Item - cli Clear contents of file Get-Content type gc Read file contents to output Set-Content - sc Set file contents Format-Table - ft Formats output
  13. 13. Presentation Title | (#) PowerShell • SharePoint Management Shell – Loaded with SharePoint 2010/2013 – Automatically Loads Microsoft.SharePoint.PowerShell Snap In – 531 cmdlets (772 in 2013!)
  14. 14. Presentation Title | (#) PowerShell • SharePoint Management Shell – Requires PowerShell 2.0 – Backwards compatible, installs into 1.0 folder – <%SystemRoot%>System32WindowsPowerShellv1.0PowerShell.exe
  15. 15. Presentation Title | (#) PowerShell DEMO: SharePoint cmdlets
  16. 16. Presentation Title | (#) Environment Deployment • AutoSPInstaller – Deploy single or multi-server farms from one script – XML-based configuration – Re-launches with Elevated Privs to deal with User Access Control – Automatically download and install platform pre-requisites – Can be done in offline mode – Install both SharePoint and Office Web Apps using config files • Office Web Apps Different in 2013 – ULS Logging path – IIS Configuration – PDF iFilter & ForeFront Installation and Configuration
  17. 17. Presentation Title | (#) Environment Deployment • Configure Service Applications – User Profile Service Application – User Profile Synchronization Service – Metadata Service Application – SharePoint Foundation User Code Service – State Service Application – Usage and Health Service Application – Secure Store Service – Enterprise Search Service Application – Web Analytics Service Application – Business Data Connectivity Service Application – Excel Service Application – Access Service Application
  18. 18. Presentation Title | (#) Environment Deployment • Configure Service Applications – PerformancePoint Service Application – Visio Graphics Service Application – Word Automation (Conversion) Service Application – Word Viewing Service Application – Excel Service Application (if not already provisioned by virtue of having an Enterprise license) • Not PowerPivot – Overly complex install
  19. 19. Presentation Title | (#) Environment Deployment • Create Databases based on YOUR naming conventions
  20. 20. Presentation Title | (#) Environment Deployment • Maintenance – Any configurable change needs to be updated – If versioned, provides an evolution of your farm
  21. 21. Presentation Title | (#) Environment Deployment DEMO: AutoSPInstaller Review
  22. 22. Presentation Title | (#) Application Deployment • Why deploy applications in PowerShell? – Developers can pass installations to administrators – Replicable through environment deployments DEV TEST PROD
  23. 23. Presentation Title | (#) Application Deployment • What can be automated? – Farm Configuration – Service application configuration • Search scopes • Managed Metadata – Web application configuration • Upload limits • Permission policies – Solution Deployment – EXE and MSI deployments
  24. 24. Presentation Title | (#) Application Deployment • Anatomy – Deployment Master Script • Variables • Initiates Logging • Step-By-Step Deployment • Directions and Documentation – Shared Functions File • Updates not to be done across scripts • Managed by platform team – Steps
  25. 25. Presentation Title | (#) Application Deployment • Anatomy – Deployment Master Script • Variables • Initiates Logging • Step-By-Step Deployment • Directions and Documentation – Shared Functions File • Updates not to be done across scripts • Managed by platform team – Steps
  26. 26. Presentation Title | (#) Application Deployment DEMO: Application Deployment
  27. 27. Presentation Title | (#) Recommendations • Documentation – Provide overall Guidelines • Basic usage, functionality • Naming of scripts • How scripts are used • How to use basic functions • How to run steps
  28. 28. Presentation Title | (#) Recommendations • Documentation – Function Reference – Copy of Functions script
  29. 29. Presentation Title | (#) Recommendations • Documentation – Script Samples • Helps with buy-in • Gives examples • Re-usable snippets
  30. 30. Presentation Title | (#) Further Refinements • Handle all configuration via XML file variables • Export steps to their own scripts • Manage entirely through SharePoint Lists • Additional steps can be scripted/approved through workflow? • Host documentation and example scripts in SharePoint, allow alerts for file changes
  31. 31. Presentation Title | (#) Resources • What is COM? – http://en.wikipedia.org/wiki/Component_Object_Model • What is WMI? – http://en.wikipedia.org/wiki/Windows_Management_Instrumentation • PowerShell for SharePoint References – 2010: http://go.gvaro.net/XgmYCk – 2013: http://go.gvaro.net/YBLtGW • Cmdlet Index – 2010: http://go.gvaro.net/WHh5wD – 2013: http://go.gvaro.net/151DGaX
  32. 32. Presentation Title | (#) Tools • Windows PowerShell for SharePoint Command Builder – http://go.gvaro.net/WS4s3u • Gary Lapointe’s PowerShell cmdlets – http://go.gvaro.net/YirJau • AutoSPInstaller – http://autospinstaller.codeplex.com
  33. 33. Presentation Title | (#) Boston Area SharePoint Users Group • Meets 2nd Wednesday/month • 6-8PM • Microsoft N.E.R.D. (Cambridge) • BostonSharePointUG.org • Twitter: @BASPUG / #BASPUG • SPTechCon Boston Hosted Meeting!
  34. 34. Presentation Title | (#) Boston Office 365 User Group • Meets 3rd Thursday/month • 6-8PM • Microsoft N.E.R.D. (Cambridge) • BostonO365UserGroup.org • Twitter: @BOS365
  35. 35. Presentation Title | (#) About Me • Jornata – Managing Consultant, Senior Architect, Senior Developer, Director of Evangelism – President & Co-Founder Boston Area SharePoint Users Group – Co-Founder and Co-Organizer Boston Office 365 Users Group – Co-Organizer SharePoint Saturday Boston • Awards – Top 25 2012 Harmon.ie Online Community Influencer – Top 50 2012 KnowledgeLake Community Influencer – 2013 Metalogix Influencers Network • Blog – www.SharePointYankee.com • Email – geoff@varosky.com • Twitter – @gvaro

×