Slides from my 'PowerShell your SharePoint environment from setup to finish'. This was part of my talk from the SharePoint Saturday Belgium conference in April 2012. For more info http://www.thesharepointbaker.co.uk
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
SPSBE 2012 - PowerShell and SharePoint
1. #SPSBE
PowerShell your SharePoint
environment from setup to finish
#SPSBE20
Adam Burcher
2. About me
• Adam Burcher
• http://www.thesharepointbaker.co.uk
• #sharepointbaker
• ad@thesharepointbaker.co.uk
• SharePoint Developer & IT
3. A big thanks to our sponsors
Platinum Sponsors
Gold Premium Sponsors Venue Sponsor
Gold Sponsors
4. Agenda
• PowerShell – what, why and who?
• Out of the Box
• Writing custom functions
• Demo
• Build a SharePoint Farm
• Configure a site
• Deploy code and then content
5. PowerShell – what?
• Scripting language/framework
• Configuring Server technologies – SharePoint, Windows, Active
Directory, Exchange....
• Blurs the lines between scripting (e.g. MS DOS) and code (e.g.
C#)
6. PowerShell – why?
• Automation – if its scripted, you can run it again
• Documented – scripts can form documentation
• Simplified rolls outs – scripts do all the work
• Distinction between „Code‟, „Content‟ and „Configuration‟
• Code = WSP, C#, DLL
• Content & Configuration = PowerShell
7. PowerShell – who?
• IT Admins & Dev
• One option – IT Admin manage scripts for server, farm and web
app setup. Dev everything else.
• “Befriend a Dev”
• If SharePoint offers collaboration across a business,
PowerShell is collaboration between IT Admins and Dev
8. Out of the box
• SharePoint comes with a number of very useful cmdlets
• New-SPWebApplication
• Get-SPSite
• Typically you can interchange the „verb‟ – New, Get, Set
• Extend by wrapping custom logic – ifs, loops, etc
$managedAccount = Get-SPManagedAccount | ?{$_.UserName –eq “tsbappPoolAccount”}
if (-not $managedAccount)
{
New-SPManagedAccount –credientials $credientials
}
9. Writing custom scripts
• You can write custom cmdlets in code and compile
• Custom functions don‟t require “code” (& compiling)
• Good news is you can access the SharePoint OM
• Bad news is you can access the SharePoint OM
• Good C# Code...can make good PowerShell
• Bad C# Code...will make bad PowerShell
• Treat PowerShell as Production Code
10. The Scripts
• Deploy-me.ps1 {args}
farmsetup
Create the
Farm & webapp
Central Admin Create our Web
App & deploy
Site Collection
Deploy content
Features Deploy
Content
12. What‟s next?
• Extend scripts for other elements –
• Service Applications – search, meta data etc
• Other content – new Webs (site hierarchy)
• Permissions, users, documents etc
• Create EnvVars for UAT, Prod etc
• Write a Release Note & Document!
• Test Scripts!
• Remember, anytime you go to Central Admin or your site to make
a change, think – should you script it?