SlideShare une entreprise Scribd logo
1  sur  27
The Power is in the Shell, use it wisely!
                               Get-Command –Module
                       Microsoft.SharePoint.PowerShell



                            Ryan Dennis | MCTS, MCPD, MCITP
              SharePoint Solutions Architect, Focal Point Solutions
THANK YOU FOR BEING A PART OF SHAREPOINT
SATURDAY AUSTIN!
• Please turn off all electronic devices or set them to vibrate
• If you must take a phone call, please do so in the hall
• Wi-Fi is available, you will need your Guest ID/password
  (at registration desk)
• Feel free to tweet and blog during sessions. Remember to follow @SPSATX
  and tag #SPSATX in your tweets!


                      SharePoint Saturday Austin is hosted by
                        the Austin SharePoint User Group
                                 (@AustinSPUG)




                                                                2 | SharePoint Saturday Austin 2013
PLEASE FILL OUT SESSION EVALUATIONS
               AND
     THANK YOU FOR ATTENDING!
THANKS TO OUR SPONSORS!




                          4 | SharePoint Saturday Austin 2013
ABOUT THE SPEAKER

Ryan Dennis, MCTS, MCPD, MCITP
SharePoint Solutions Architect
Focal Point Solutions

  www.focalpointsolutions.co

  www.sharepointryan.com

  @SharePointRyan                   Father           Husband


  linkedin.com/in/sharepointryan

  ryan@sharepointryan.com          Drummer              Geek
                                        5 | SharePoint Saturday Austin 2013
WINDOWS POWERSHELL

…is a task-based command-line shell and scripting language designed
especially for Windows system administration

…has a task-based scripting language

…includes powerful object manipulation capabilities

…is built on the .NET Framework




                                                               6 | SharePoint Saturday Austin 2013
VERB-NOUN

PowerShell uses a Verb-Noun syntax for its Cmdlets
• Get-Something
• Set-Something                                       Quick Tip!
• New-Something                                      Use Get-Verb to
• Remove-Something                                    find approved
                                                          verbs!




                                                              7 | SharePoint Saturday Austin 2013
GET-COMMAND & GET-HELP

• While you can do a lot of the same things as the typical command prompt,
  use Get-Command to see available commands
   – Get-Command –Module Microsoft.SharePoint.PowerShell will show
     you all SharePoint Cmdlets
• Use Get-Help <cmdlet> to get help information for a cmdlet
   – Get-Help <cmdlet> -Examples will show you examples for a cmdlet

     Quick Tip!
   Add Help to your
     scripts and
      functions!

                                                                8 | SharePoint Saturday Austin 2013
USING POWERSHELL PROFILES

• PowerShell uses 2 profiles, a user specific profile and a machine-wide
  profile…
• Use profiles to pre-load snap-ins, scripts, functions, environmental variables,
  shell settings, aliases, etc.


       Quick Tip!
      Use New-Item
      $Profile –type
       file –force to
      create a profile!


                                                                    9 | SharePoint Saturday Austin 2013
SCRIPT EDITORS & TOOLS

• Notepad.exe (Lame)
• Notepad++ (Less Lame)
• Windows PowerShell ISE (Pretty Good - includes IntelliSense, Syntax
  highlighting, MUCH better with PowerShell V3)
• Quest PowerGUI (Awesome – Adds advanced debugging, and other cool
  things)
• Visual Studio + PowerGUI Extensions (Probably best option, can integrate
  with Source Control, etc.)
• Others…



                                                             10 | SharePoint Saturday Austin 2013
SHAREPOINT CMDLETS

• SharePoint 2010
   – 500+ Cmdlets…
   – MUCH better than STSADM.exe…
   – Can automate complete installations and configurations…
• SharePoint 2013
   – 700+ Cmdlets!
• Still doesn’t answer every scenario, leaving gaps in functionality…
   – Example: Get, New and Remove SharePoint Groups – no cmdlet, easy to write
     a custom function though…




                                                                  11 | SharePoint Saturday Austin 2013
POWERSHELL WEB ACCESS & SHAREPOINT 2013
• Pros:
   – Allows administrators to work with SP2013 without server access via a web
     browser
   – The default security is restrictive rather than permissive; zero authentication rules
     means no users have access to anything
   – All that is required to run PSWA is a properly-configured PowerShell Web Access
     gateway, and a client device browser that supports JavaScript and accepts
     cookies
• Cons:
   – No profile means there is no good way to auto-load SharePoint Snap in or other
     scripts, functions or variables
   – Requires Windows Server 2012

For more on PSWA, go here! (don’t worry, it’s TechNet) http://bit.ly/x18ztj
                                                                              12 | SharePoint Saturday Austin 2013
SUPPORTED BROWSERS AND DEVICES




 Chrome   Android   Window     Firefox
                    s Phone




   iPad    Safari   Internet
 iPhone             Explorer


                                         13 | SharePoint Saturday Austin 2013
SURPRISE!

• We’re going to try something new today…
• Let’s try to do a technical demo and presentation using ONLY a browser and
  a PowerShell editor!




                                                               14 | SharePoint Saturday Austin 2013
DEMONSTRATION
Manipulating a SharePoint Site Collection using out-of-the-box PowerShell
Cmdlets
DEMO RECAP

•   Used Get-SPSite to get a SharePoint Site Collection…
•   Stored the SPSite object into the $site variable
•   Created a $web variable from $site.rootweb
•   Used Get-Member to view Methods and Properties associated with the Web
•   Viewed and changed properties on the $web object using PowerShell
•   Used the $web variable to change the Site Title using the SP Object Model
•   Had some fun!




                                                                 16 | SharePoint Saturday Austin 2013
DEMONSTRATION TWO
Creating a new PowerShell Function for reusability
DEMO RECAP

• Used the previous demo example to create a basic function using
  PowerShell ISE V3
• Added and demonstrated Comment-based help and parameters
• Tried it out
• Had more fun!




                                                               18 | SharePoint Saturday Austin 2013
EXTENDING POWERSHELL WITH SCRIPTS AND
FUNCTIONS
• PowerShell Scripts have .ps1 file extension…
• Scripts and functions behave similarly if not identically, but functions are
  more reusable…
• Scripts can reference functions and cmdlets…
• Functions can include other functions within them and can also reference
  cmdlets…




                                                                    19 | SharePoint Saturday Austin 2013
NOW, FOR THE GRAND FINALE…

• You’ve seen some cool cmdlets, we’ve piped, we’ve used Get-
  History, Select-Object, etc…
• There are a few cmdlets that can make bulk tasks VERY easy and
  fun…
  – Get-Content
  – ForEach-Object
• Using these in conjunction with other SharePoint cmdlets or
  custom functions can make your PowerShell life much more
  awesome
                                                       20 | SharePoint Saturday Austin 2013
WHAT WERE THOSE AGAIN?

• Get-Content
  – Can read the contents of a file…
  – Can store the contents in a variable…
  – Can process XML files…
  – Can be piped into other cmdlets…
• ForEach-Object
  – Provides a way to loop through - and perform an action
    on - each item in a collection.…
                                                      21 | SharePoint Saturday Austin 2013
SPSSITES.XML SYNTAX
<?xml version="1.0" encoding="utf-8"?>
<Sites>
         <SiteAdmins>
                   <User>adventureworksrdennis</User>
                   <User>adventureworksspfarm</User>
         </SiteAdmins>
<!-- root site -->
<Site Create=“true">
         <SiteTitle>Home</SiteTitle>
         <SiteUrl>/</SiteUrl>
         <Page IsHomePage="true">
                   <PageTitle>Home</PageTitle>
                   <PageUrl>Home.aspx</PageUrl>
                   <PageLayout>Blank Web Part Page</PageLayout>
         </Page>
                                                                  22 | SharePoint Saturday Austin 2013
</Site>
DEMONSTRATION THREE
Automating the provisioning of bulk sites and pages using XML input
DEMO RECAP
• Used the following cmdlets in an Advanced Function to automate the
  provisioning of 5 SharePoint Sites, each with several Publishing Pages,
  all from XML input:
   – Get-Content
   – ForEach-Object
   – New-SPWeb
   – Write-Progress
• Used Windows PowerShell ISE V3 to edit our function by adding
  Parameters, eliminating hard-coded values…
• Tried out our cool, new function…
• Checked out the sites and pages


                                                            24 | SharePoint Saturday Austin 2013
THE POWER IS IN THE SHELL, USE IT WISELY!

• PowerShell is VERY powerful, be aware of memory issues...
• Use dispose() method for Site and Web objects, or better yet…
• Use Start-SPAssignment –Global to capture all objects in the Global store,
  then use
  Stop-SPAssignment –Global to dispose of all objects…




                                                               25 | SharePoint Saturday Austin 2013
GET-RESOURCES

1.   TechNet for general PowerShell information…
2.   The Hey, Scripting Guy! blog
3.   Get-SPScripts.com
4.   Gary Lapointe
5.   Get-Help in a PowerShell window…
6.   Twitter using #PowerShell
7.   SharePointRyan.com (yes, my blog)…



                                                   26 | SharePoint Saturday Austin 2013
GOT-QUESTIONS | START-ASKING

Ryan Dennis, MCTS, MCPD, MCITP
SharePoint Solutions Architect
Focal Point Solutions
  www.focalpointsolutions.co

  www.sharepointryan.com

  @SharePointRyan

  linkedin.com/in/sharepointryan

  ryan@sharepointryan.com
                                   27 | SharePoint Saturday Austin 2013

Contenu connexe

Tendances

Leave the fileshare, and join the enterprise content revolution!
Leave the fileshare, and join the enterprise content revolution!Leave the fileshare, and join the enterprise content revolution!
Leave the fileshare, and join the enterprise content revolution!Ryan Dennis
 
Optimizing SharePoint 2010 for Internet sites
Optimizing SharePoint 2010 for Internet sitesOptimizing SharePoint 2010 for Internet sites
Optimizing SharePoint 2010 for Internet sitesKanwal Khipple
 
Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...
Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...
Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...Kanwal Khipple
 
Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013Vishal Pawar
 
Basics of SharePoint
Basics of SharePointBasics of SharePoint
Basics of SharePointsamirsangli
 
Introduction to SharePoint 2013 WCM-DM-ECM for Business Users and Developers
Introduction to SharePoint 2013 WCM-DM-ECM for Business Users and DevelopersIntroduction to SharePoint 2013 WCM-DM-ECM for Business Users and Developers
Introduction to SharePoint 2013 WCM-DM-ECM for Business Users and DevelopersNetwoven Inc.
 
SharePoint 2013 Branding
SharePoint 2013 BrandingSharePoint 2013 Branding
SharePoint 2013 BrandingKashif Imran
 
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public SitesSharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public SitesBrian Culver
 
SharePoint Development(Lesson 5)
SharePoint Development(Lesson 5)SharePoint Development(Lesson 5)
SharePoint Development(Lesson 5)MJ Ferdous
 
SharePoint Branding Guidance @ SharePoint Saturday Redmond
SharePoint Branding Guidance @ SharePoint Saturday RedmondSharePoint Branding Guidance @ SharePoint Saturday Redmond
SharePoint Branding Guidance @ SharePoint Saturday RedmondKanwal Khipple
 
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven SitesSharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven SitesBrian Culver
 
Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...
Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...
Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...Paul Hunt
 
SPSRIC - A SharePoint Designer’s Lessons Learned
SPSRIC - A SharePoint Designer’s Lessons Learned SPSRIC - A SharePoint Designer’s Lessons Learned
SPSRIC - A SharePoint Designer’s Lessons Learned Marcy Kellar
 
User Centered Design and SharePoint Publishing Portals
User Centered Design and SharePoint Publishing PortalsUser Centered Design and SharePoint Publishing Portals
User Centered Design and SharePoint Publishing PortalsTom Pham
 
Understanding SharePoint site structure what's inside
Understanding SharePoint site structure  what's insideUnderstanding SharePoint site structure  what's inside
Understanding SharePoint site structure what's insideBenjamin Niaulin
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013girish goudar
 
Clockwork 2013 - SharePoint overview
Clockwork 2013 - SharePoint overviewClockwork 2013 - SharePoint overview
Clockwork 2013 - SharePoint overviewWilco Sinnema
 

Tendances (20)

Leave the fileshare, and join the enterprise content revolution!
Leave the fileshare, and join the enterprise content revolution!Leave the fileshare, and join the enterprise content revolution!
Leave the fileshare, and join the enterprise content revolution!
 
Optimizing SharePoint 2010 for Internet sites
Optimizing SharePoint 2010 for Internet sitesOptimizing SharePoint 2010 for Internet sites
Optimizing SharePoint 2010 for Internet sites
 
Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...
Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...
Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...
 
Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013
 
Basics of SharePoint
Basics of SharePointBasics of SharePoint
Basics of SharePoint
 
Introduction to SharePoint 2013 WCM-DM-ECM for Business Users and Developers
Introduction to SharePoint 2013 WCM-DM-ECM for Business Users and DevelopersIntroduction to SharePoint 2013 WCM-DM-ECM for Business Users and Developers
Introduction to SharePoint 2013 WCM-DM-ECM for Business Users and Developers
 
SharePoint 2013 Branding
SharePoint 2013 BrandingSharePoint 2013 Branding
SharePoint 2013 Branding
 
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public SitesSharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
 
Discover SharePoint 2013
Discover SharePoint 2013Discover SharePoint 2013
Discover SharePoint 2013
 
SharePoint Development(Lesson 5)
SharePoint Development(Lesson 5)SharePoint Development(Lesson 5)
SharePoint Development(Lesson 5)
 
SharePoint 101
SharePoint 101SharePoint 101
SharePoint 101
 
SharePoint Branding Guidance @ SharePoint Saturday Redmond
SharePoint Branding Guidance @ SharePoint Saturday RedmondSharePoint Branding Guidance @ SharePoint Saturday Redmond
SharePoint Branding Guidance @ SharePoint Saturday Redmond
 
SharePoint Programming Basic
SharePoint Programming BasicSharePoint Programming Basic
SharePoint Programming Basic
 
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven SitesSharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
SharePoint Saturday Utah 2015 - SP2013 Search Driven Sites
 
Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...
Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...
Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...
 
SPSRIC - A SharePoint Designer’s Lessons Learned
SPSRIC - A SharePoint Designer’s Lessons Learned SPSRIC - A SharePoint Designer’s Lessons Learned
SPSRIC - A SharePoint Designer’s Lessons Learned
 
User Centered Design and SharePoint Publishing Portals
User Centered Design and SharePoint Publishing PortalsUser Centered Design and SharePoint Publishing Portals
User Centered Design and SharePoint Publishing Portals
 
Understanding SharePoint site structure what's inside
Understanding SharePoint site structure  what's insideUnderstanding SharePoint site structure  what's inside
Understanding SharePoint site structure what's inside
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013
 
Clockwork 2013 - SharePoint overview
Clockwork 2013 - SharePoint overviewClockwork 2013 - SharePoint overview
Clockwork 2013 - SharePoint overview
 

Similaire à Automate SharePoint Sites and Pages with PowerShell and XML

Intro to SharePoint + PowerShell
Intro to SharePoint + PowerShellIntro to SharePoint + PowerShell
Intro to SharePoint + PowerShellRyan Dennis
 
PowerShell Introduction to Administering SharePoint On-Premises & O365
PowerShell Introduction to Administering SharePoint On-Premises & O365PowerShell Introduction to Administering SharePoint On-Premises & O365
PowerShell Introduction to Administering SharePoint On-Premises & O365Michael Greene
 
Managing SharePoint Anywhere with Windows PowerShell
Managing SharePoint Anywhere with Windows PowerShellManaging SharePoint Anywhere with Windows PowerShell
Managing SharePoint Anywhere with Windows PowerShellRyan Dennis
 
I6 - State of the art SharePoint PowerShell Nation 2017 - Spencer Harbar
I6 - State of the art SharePoint PowerShell Nation 2017 - Spencer HarbarI6 - State of the art SharePoint PowerShell Nation 2017 - Spencer Harbar
I6 - State of the art SharePoint PowerShell Nation 2017 - Spencer HarbarSPS Paris
 
PowerShell for the Anxious ITPro
PowerShell for the Anxious ITProPowerShell for the Anxious ITPro
PowerShell for the Anxious ITProJason Himmelstein
 
SPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have knownSPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have knownMark Rackley
 
Making Life Easier with PowerShell (SPSVB 2012)
Making Life Easier with PowerShell (SPSVB 2012)Making Life Easier with PowerShell (SPSVB 2012)
Making Life Easier with PowerShell (SPSVB 2012)Michael Greene
 
SharePoint Fundamentals (Lesson 1&2)
SharePoint Fundamentals (Lesson 1&2)SharePoint Fundamentals (Lesson 1&2)
SharePoint Fundamentals (Lesson 1&2)MJ Ferdous
 
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with PowershellBrian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with PowershellSharePoint Saturday NY
 
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with PowershellBrian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with PowershellSharePoint Saturday NY
 
I5 - Bring yourself up to speed with power shell
I5 -  Bring yourself up to speed with power shellI5 -  Bring yourself up to speed with power shell
I5 - Bring yourself up to speed with power shellSPS Paris
 
SharePoint Saturday Cincinnati 2014 - CSOM
SharePoint Saturday Cincinnati 2014 - CSOMSharePoint Saturday Cincinnati 2014 - CSOM
SharePoint Saturday Cincinnati 2014 - CSOMRyan Dennis
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastMark Rackley
 
Introduction to PowerShell for SharePoint Admins and Developers
Introduction to PowerShell for SharePoint Admins and DevelopersIntroduction to PowerShell for SharePoint Admins and Developers
Introduction to PowerShell for SharePoint Admins and DevelopersMichael Blumenthal (Microsoft MVP)
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint BeastMark Rackley
 
PowerShell Basics for Office Apps and Servers
PowerShell Basics for Office Apps and ServersPowerShell Basics for Office Apps and Servers
PowerShell Basics for Office Apps and ServersGreg McMurray
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFxThomas Daly
 
Making Life Easier with PowerShell - SPSRIC
Making Life Easier with PowerShell - SPSRICMaking Life Easier with PowerShell - SPSRIC
Making Life Easier with PowerShell - SPSRICMichael Greene
 
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopIntroduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopMichael Blumenthal (Microsoft MVP)
 
High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013C5 Insight
 

Similaire à Automate SharePoint Sites and Pages with PowerShell and XML (20)

Intro to SharePoint + PowerShell
Intro to SharePoint + PowerShellIntro to SharePoint + PowerShell
Intro to SharePoint + PowerShell
 
PowerShell Introduction to Administering SharePoint On-Premises & O365
PowerShell Introduction to Administering SharePoint On-Premises & O365PowerShell Introduction to Administering SharePoint On-Premises & O365
PowerShell Introduction to Administering SharePoint On-Premises & O365
 
Managing SharePoint Anywhere with Windows PowerShell
Managing SharePoint Anywhere with Windows PowerShellManaging SharePoint Anywhere with Windows PowerShell
Managing SharePoint Anywhere with Windows PowerShell
 
I6 - State of the art SharePoint PowerShell Nation 2017 - Spencer Harbar
I6 - State of the art SharePoint PowerShell Nation 2017 - Spencer HarbarI6 - State of the art SharePoint PowerShell Nation 2017 - Spencer Harbar
I6 - State of the art SharePoint PowerShell Nation 2017 - Spencer Harbar
 
PowerShell for the Anxious ITPro
PowerShell for the Anxious ITProPowerShell for the Anxious ITPro
PowerShell for the Anxious ITPro
 
SPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have knownSPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have known
 
Making Life Easier with PowerShell (SPSVB 2012)
Making Life Easier with PowerShell (SPSVB 2012)Making Life Easier with PowerShell (SPSVB 2012)
Making Life Easier with PowerShell (SPSVB 2012)
 
SharePoint Fundamentals (Lesson 1&2)
SharePoint Fundamentals (Lesson 1&2)SharePoint Fundamentals (Lesson 1&2)
SharePoint Fundamentals (Lesson 1&2)
 
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with PowershellBrian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
 
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with PowershellBrian Jackett: Managing SharePoint 2010 Farms with Powershell
Brian Jackett: Managing SharePoint 2010 Farms with Powershell
 
I5 - Bring yourself up to speed with power shell
I5 -  Bring yourself up to speed with power shellI5 -  Bring yourself up to speed with power shell
I5 - Bring yourself up to speed with power shell
 
SharePoint Saturday Cincinnati 2014 - CSOM
SharePoint Saturday Cincinnati 2014 - CSOMSharePoint Saturday Cincinnati 2014 - CSOM
SharePoint Saturday Cincinnati 2014 - CSOM
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast
 
Introduction to PowerShell for SharePoint Admins and Developers
Introduction to PowerShell for SharePoint Admins and DevelopersIntroduction to PowerShell for SharePoint Admins and Developers
Introduction to PowerShell for SharePoint Admins and Developers
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
 
PowerShell Basics for Office Apps and Servers
PowerShell Basics for Office Apps and ServersPowerShell Basics for Office Apps and Servers
PowerShell Basics for Office Apps and Servers
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFx
 
Making Life Easier with PowerShell - SPSRIC
Making Life Easier with PowerShell - SPSRICMaking Life Easier with PowerShell - SPSRIC
Making Life Easier with PowerShell - SPSRIC
 
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopIntroduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
 
High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013High-level Guide: Upgrading to SharePoint 2013
High-level Guide: Upgrading to SharePoint 2013
 

Plus de Ryan Dennis

Don't be afraid of moving infrastructure into Azure!
Don't be afraid of moving infrastructure into Azure!Don't be afraid of moving infrastructure into Azure!
Don't be afraid of moving infrastructure into Azure!Ryan Dennis
 
Leave the Fileshare, and join the Enterprise Content Revolution!
Leave the Fileshare, and join the Enterprise Content Revolution!Leave the Fileshare, and join the Enterprise Content Revolution!
Leave the Fileshare, and join the Enterprise Content Revolution!Ryan Dennis
 
Herding CATS: Gaining user adoption with these 4 principles
Herding CATS: Gaining user adoption with these 4 principlesHerding CATS: Gaining user adoption with these 4 principles
Herding CATS: Gaining user adoption with these 4 principlesRyan Dennis
 
Leave The Fileshare and join the Enterprise Content Revolution!
Leave The Fileshare and join the Enterprise Content Revolution!Leave The Fileshare and join the Enterprise Content Revolution!
Leave The Fileshare and join the Enterprise Content Revolution!Ryan Dennis
 
SPS Cincinnati slidedeck (pdf)
SPS Cincinnati slidedeck (pdf)SPS Cincinnati slidedeck (pdf)
SPS Cincinnati slidedeck (pdf)Ryan Dennis
 
SPS Cincinnati slidedeck
SPS Cincinnati slidedeckSPS Cincinnati slidedeck
SPS Cincinnati slidedeckRyan Dennis
 

Plus de Ryan Dennis (6)

Don't be afraid of moving infrastructure into Azure!
Don't be afraid of moving infrastructure into Azure!Don't be afraid of moving infrastructure into Azure!
Don't be afraid of moving infrastructure into Azure!
 
Leave the Fileshare, and join the Enterprise Content Revolution!
Leave the Fileshare, and join the Enterprise Content Revolution!Leave the Fileshare, and join the Enterprise Content Revolution!
Leave the Fileshare, and join the Enterprise Content Revolution!
 
Herding CATS: Gaining user adoption with these 4 principles
Herding CATS: Gaining user adoption with these 4 principlesHerding CATS: Gaining user adoption with these 4 principles
Herding CATS: Gaining user adoption with these 4 principles
 
Leave The Fileshare and join the Enterprise Content Revolution!
Leave The Fileshare and join the Enterprise Content Revolution!Leave The Fileshare and join the Enterprise Content Revolution!
Leave The Fileshare and join the Enterprise Content Revolution!
 
SPS Cincinnati slidedeck (pdf)
SPS Cincinnati slidedeck (pdf)SPS Cincinnati slidedeck (pdf)
SPS Cincinnati slidedeck (pdf)
 
SPS Cincinnati slidedeck
SPS Cincinnati slidedeckSPS Cincinnati slidedeck
SPS Cincinnati slidedeck
 

Dernier

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Dernier (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Automate SharePoint Sites and Pages with PowerShell and XML

  • 1. The Power is in the Shell, use it wisely! Get-Command –Module Microsoft.SharePoint.PowerShell Ryan Dennis | MCTS, MCPD, MCITP SharePoint Solutions Architect, Focal Point Solutions
  • 2. THANK YOU FOR BEING A PART OF SHAREPOINT SATURDAY AUSTIN! • Please turn off all electronic devices or set them to vibrate • If you must take a phone call, please do so in the hall • Wi-Fi is available, you will need your Guest ID/password (at registration desk) • Feel free to tweet and blog during sessions. Remember to follow @SPSATX and tag #SPSATX in your tweets! SharePoint Saturday Austin is hosted by the Austin SharePoint User Group (@AustinSPUG) 2 | SharePoint Saturday Austin 2013
  • 3. PLEASE FILL OUT SESSION EVALUATIONS AND THANK YOU FOR ATTENDING!
  • 4. THANKS TO OUR SPONSORS! 4 | SharePoint Saturday Austin 2013
  • 5. ABOUT THE SPEAKER Ryan Dennis, MCTS, MCPD, MCITP SharePoint Solutions Architect Focal Point Solutions www.focalpointsolutions.co www.sharepointryan.com @SharePointRyan Father Husband linkedin.com/in/sharepointryan ryan@sharepointryan.com Drummer Geek 5 | SharePoint Saturday Austin 2013
  • 6. WINDOWS POWERSHELL …is a task-based command-line shell and scripting language designed especially for Windows system administration …has a task-based scripting language …includes powerful object manipulation capabilities …is built on the .NET Framework 6 | SharePoint Saturday Austin 2013
  • 7. VERB-NOUN PowerShell uses a Verb-Noun syntax for its Cmdlets • Get-Something • Set-Something Quick Tip! • New-Something Use Get-Verb to • Remove-Something find approved verbs! 7 | SharePoint Saturday Austin 2013
  • 8. GET-COMMAND & GET-HELP • While you can do a lot of the same things as the typical command prompt, use Get-Command to see available commands – Get-Command –Module Microsoft.SharePoint.PowerShell will show you all SharePoint Cmdlets • Use Get-Help <cmdlet> to get help information for a cmdlet – Get-Help <cmdlet> -Examples will show you examples for a cmdlet Quick Tip! Add Help to your scripts and functions! 8 | SharePoint Saturday Austin 2013
  • 9. USING POWERSHELL PROFILES • PowerShell uses 2 profiles, a user specific profile and a machine-wide profile… • Use profiles to pre-load snap-ins, scripts, functions, environmental variables, shell settings, aliases, etc. Quick Tip! Use New-Item $Profile –type file –force to create a profile! 9 | SharePoint Saturday Austin 2013
  • 10. SCRIPT EDITORS & TOOLS • Notepad.exe (Lame) • Notepad++ (Less Lame) • Windows PowerShell ISE (Pretty Good - includes IntelliSense, Syntax highlighting, MUCH better with PowerShell V3) • Quest PowerGUI (Awesome – Adds advanced debugging, and other cool things) • Visual Studio + PowerGUI Extensions (Probably best option, can integrate with Source Control, etc.) • Others… 10 | SharePoint Saturday Austin 2013
  • 11. SHAREPOINT CMDLETS • SharePoint 2010 – 500+ Cmdlets… – MUCH better than STSADM.exe… – Can automate complete installations and configurations… • SharePoint 2013 – 700+ Cmdlets! • Still doesn’t answer every scenario, leaving gaps in functionality… – Example: Get, New and Remove SharePoint Groups – no cmdlet, easy to write a custom function though… 11 | SharePoint Saturday Austin 2013
  • 12. POWERSHELL WEB ACCESS & SHAREPOINT 2013 • Pros: – Allows administrators to work with SP2013 without server access via a web browser – The default security is restrictive rather than permissive; zero authentication rules means no users have access to anything – All that is required to run PSWA is a properly-configured PowerShell Web Access gateway, and a client device browser that supports JavaScript and accepts cookies • Cons: – No profile means there is no good way to auto-load SharePoint Snap in or other scripts, functions or variables – Requires Windows Server 2012 For more on PSWA, go here! (don’t worry, it’s TechNet) http://bit.ly/x18ztj 12 | SharePoint Saturday Austin 2013
  • 13. SUPPORTED BROWSERS AND DEVICES Chrome Android Window Firefox s Phone iPad Safari Internet iPhone Explorer 13 | SharePoint Saturday Austin 2013
  • 14. SURPRISE! • We’re going to try something new today… • Let’s try to do a technical demo and presentation using ONLY a browser and a PowerShell editor! 14 | SharePoint Saturday Austin 2013
  • 15. DEMONSTRATION Manipulating a SharePoint Site Collection using out-of-the-box PowerShell Cmdlets
  • 16. DEMO RECAP • Used Get-SPSite to get a SharePoint Site Collection… • Stored the SPSite object into the $site variable • Created a $web variable from $site.rootweb • Used Get-Member to view Methods and Properties associated with the Web • Viewed and changed properties on the $web object using PowerShell • Used the $web variable to change the Site Title using the SP Object Model • Had some fun! 16 | SharePoint Saturday Austin 2013
  • 17. DEMONSTRATION TWO Creating a new PowerShell Function for reusability
  • 18. DEMO RECAP • Used the previous demo example to create a basic function using PowerShell ISE V3 • Added and demonstrated Comment-based help and parameters • Tried it out • Had more fun! 18 | SharePoint Saturday Austin 2013
  • 19. EXTENDING POWERSHELL WITH SCRIPTS AND FUNCTIONS • PowerShell Scripts have .ps1 file extension… • Scripts and functions behave similarly if not identically, but functions are more reusable… • Scripts can reference functions and cmdlets… • Functions can include other functions within them and can also reference cmdlets… 19 | SharePoint Saturday Austin 2013
  • 20. NOW, FOR THE GRAND FINALE… • You’ve seen some cool cmdlets, we’ve piped, we’ve used Get- History, Select-Object, etc… • There are a few cmdlets that can make bulk tasks VERY easy and fun… – Get-Content – ForEach-Object • Using these in conjunction with other SharePoint cmdlets or custom functions can make your PowerShell life much more awesome 20 | SharePoint Saturday Austin 2013
  • 21. WHAT WERE THOSE AGAIN? • Get-Content – Can read the contents of a file… – Can store the contents in a variable… – Can process XML files… – Can be piped into other cmdlets… • ForEach-Object – Provides a way to loop through - and perform an action on - each item in a collection.… 21 | SharePoint Saturday Austin 2013
  • 22. SPSSITES.XML SYNTAX <?xml version="1.0" encoding="utf-8"?> <Sites> <SiteAdmins> <User>adventureworksrdennis</User> <User>adventureworksspfarm</User> </SiteAdmins> <!-- root site --> <Site Create=“true"> <SiteTitle>Home</SiteTitle> <SiteUrl>/</SiteUrl> <Page IsHomePage="true"> <PageTitle>Home</PageTitle> <PageUrl>Home.aspx</PageUrl> <PageLayout>Blank Web Part Page</PageLayout> </Page> 22 | SharePoint Saturday Austin 2013 </Site>
  • 23. DEMONSTRATION THREE Automating the provisioning of bulk sites and pages using XML input
  • 24. DEMO RECAP • Used the following cmdlets in an Advanced Function to automate the provisioning of 5 SharePoint Sites, each with several Publishing Pages, all from XML input: – Get-Content – ForEach-Object – New-SPWeb – Write-Progress • Used Windows PowerShell ISE V3 to edit our function by adding Parameters, eliminating hard-coded values… • Tried out our cool, new function… • Checked out the sites and pages 24 | SharePoint Saturday Austin 2013
  • 25. THE POWER IS IN THE SHELL, USE IT WISELY! • PowerShell is VERY powerful, be aware of memory issues... • Use dispose() method for Site and Web objects, or better yet… • Use Start-SPAssignment –Global to capture all objects in the Global store, then use Stop-SPAssignment –Global to dispose of all objects… 25 | SharePoint Saturday Austin 2013
  • 26. GET-RESOURCES 1. TechNet for general PowerShell information… 2. The Hey, Scripting Guy! blog 3. Get-SPScripts.com 4. Gary Lapointe 5. Get-Help in a PowerShell window… 6. Twitter using #PowerShell 7. SharePointRyan.com (yes, my blog)… 26 | SharePoint Saturday Austin 2013
  • 27. GOT-QUESTIONS | START-ASKING Ryan Dennis, MCTS, MCPD, MCITP SharePoint Solutions Architect Focal Point Solutions www.focalpointsolutions.co www.sharepointryan.com @SharePointRyan linkedin.com/in/sharepointryan ryan@sharepointryan.com 27 | SharePoint Saturday Austin 2013