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

256

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
256
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

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

×