08448380779 Call Girls In Civil Lines Women Seeking Men
Automating Enterprise Application Deployments with PowerShell
1. Geoff Varosky
July 26, 2014
Automating Your Enterprise
Application Deployments with
PowerShell
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. 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. 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
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. 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. Presentation Title | (#)
Why Automation?
• Cons
– Possible significant up-front time
– Knowledge of PowerShell needed
– Not managed code
– Requires constant upkeep
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. Presentation Title | (#)
PowerShell
• Cmdlets
– PowerShell Commands
– Can create your own
– Standardized using a verb-noun convention
• Eat-Cake
• Drink-Beer
• Live-Life
11. Presentation Title | (#)
PowerShell
• The Basics
– Get-Command
– Get-Help
– Piping
– Select-Object
– Tab Completion
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. Presentation Title | (#)
PowerShell
• SharePoint Management Shell
– Loaded with SharePoint 2010/2013
– Automatically Loads Microsoft.SharePoint.PowerShell Snap In
– 531 cmdlets (772 in 2013!)
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. 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. 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. Presentation Title | (#)
Environment Deployment
• Create Databases based on YOUR naming conventions
20. Presentation Title | (#)
Environment Deployment
• Maintenance
– Any configurable change needs to be updated
– If versioned, provides an evolution of your farm
22. Presentation Title | (#)
Application Deployment
• Why deploy applications in PowerShell?
– Developers can pass installations to administrators
– Replicable through environment deployments
DEV TEST PROD
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. 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. 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
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. Presentation Title | (#)
Recommendations
• Documentation
– Function Reference
– Copy of Functions script
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. 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. 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.
34. 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!
35. Presentation Title | (#)
Boston Office 365 User Group
• Meets 3rd Thursday/month
• 6-8PM
• Microsoft N.E.R.D. (Cambridge)
• BostonO365UserGroup.org
• Twitter: @BOS365
36. 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