PowerShell and SharePoint
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

PowerShell and SharePoint

  • 2,043 views
Uploaded on

PowerShell is a powerful scripting environment and language for developers and administrators. SharePoint 2010 has built in PowerShell administration commandlets, but you can use this powerful......

PowerShell is a powerful scripting environment and language for developers and administrators. SharePoint 2010 has built in PowerShell administration commandlets, but you can use this powerful scripting language with any version of SharePoint. Using PowerShell, Talbott will demonstrate how you can build and deploy SharePoint sites for development, testing, proof of concepts, and production. Using an agile methodology, you will learn how to leverage PowerShell scripts for your planning and development process.

More in: Technology , Design
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,043
On Slideshare
2,018
From Embeds
25
Number of Embeds
2

Actions

Shares
Downloads
27
Comments
0
Likes
0

Embeds 25

http://192.168.33.10 24
http://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. PowerShell and SharePoint Talbott Crowell April 28, 2012SharePoint Saturday Boston #SPSBOS http://www.thirdm.com @talbott
  • 2. What is PowerShell?• Unix-like shell• Object oriented• .NET• Command line• Scripting language www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 3. Why PowerShell for SharePoint?• Automated build and deploy• Rapid prototyping• Exploring “What If” scenarios• Developer onboarding• Administration automation www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 4. When use PowerShell?• When you want to make your team more agile – Automation, automation, automation• When developing, your daily build is like the projects heartbeat – PowerShell can be the pacemaker• Testing – Use the PowerShell scripts to stand up an environment for running tests www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 5. PowerShell Basics• What do you know about a command line? – DIR• How about – $a = DIR• What is $a? – .NET Object • use gm or get-member to query properites – Array • $a[0] www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 6. Demo - Basics• PowerShell Basics – $a = DIR – $a | gm – Dates www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 7. Tools• cmd, notepad• PowerShell Command• Windows PowerShell Integrated Scripting Environment (ISE) – Import-Module ServerManager; – Add-WindowsFeature PowerShell-ISE• PowerGUI – Download from powergui.org www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 8. More Basics• # for comment• Verb-Noun convention for commandlets• Write-Host “Hello World”• Set-ExecutionPolicy Unrestricted• .scriptname to execute www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 9. SharePoint 2010• Comes with PowerShell Commandlets – Get-SPSite – New-SPSite – New-SPWeb• If you are running from standard PowerShell Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 10. Create Site Collections and Sites• Get-SPSite – Parameter: url• New-SPSite – Parameters: url, name, ownerAlias, template• New-SPWeb – Parameters: url, name, description, template… – Other params: • -AddToTopNav or -UseParentTopNav • -AddToQuickLaunch www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 11. What about MOSS 2007 or WSS?• Your friend STSADM is still there• You can call STSADM or any command line tool from PowerShell• You can write your own command line tools with .NET• Better yet, you can write your own PowerShell Commandlets! – Inherit from Cmdlet or PSCmdlet• Gary Lapointe has WSS and MOSS Cmdlets! – http://stsadm.blogspot.com/2009/02/downloads.html www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 12. Creating SharePoint 2010 Cmdlets• When creating non-persistent tasks (i.e. get info) use: – SPCmdlet• When objects persist between commands, use: – SPRemoveCmdletBase – SPNewCmdletBase – SPSetCmdletBase – SPGetCmdletBase• For more info, see Gary Lapointe’s blog post: – http://stsadm.blogspot.com/2009/10/creating-custom- sharepoint-2010-cmdlets.html www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 13. Creating SharePoint Objects• [void][System.Reflection.Assembly]::LoadWithPar tialName(”Microsoft.SharePoint”) – Load the assembly• $SPSite = New-Object Microsoft.SharePoint.SPSite($url) – Reference to the site collection using SharePoint object model• Don’t forget to – $SPSite.Dispose() www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 14. Strategy• Series of scripts to build your site• Cleanup script to destroy site• Edit script, run cleanup, run script, view site – Repeat www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 15. Demo – series of scripts• Build2010.ps1 – Calls other scripts• Build2010_site_structure.ps1 – Sets up the basic site structure and content types• Build2010_upload_file.ps1 – Uploads sample files to the site• Build2010_set_logo.ps1 – Adds site logo• Build2010_add_users.ps1 – Adds users to local machine and/or SharePoint groups www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 16. Defining functions• function Get-Theme ([Microsoft.SharePoint.SPWeb]$SPWeb, [string]$themeName)• Strong typed parameters• Returns Microsoft.SharePoint.Utilities.ThmxTheme www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 17. Iteration Style Scripts• Upload File – Takes in 1 or more files• Has 3 blocks – Begin – Process – End• Process is executed for each file• gci C:uploadfilesSamplesLegal | .build2010_upload_file.ps1 -Location "shared/legal" - DocLib "Documents" -ContentType "Document" - MetaDataField "Dept" -MetaDataValue "Legal" www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 18. Other References• How to: Build a SharePoint 2010 PowerShell Cmdlet – http://silverlight.sys-con.com/node/1370916 www.sharepointsaturday.org/boston::WEB http://www.thirdm.com WEB http://talbottcrowell.wordpress.com::EMAIL SPSBoston@live.com BLOG @talbott : TWITTER @SPSBoston / #SPSBos : TWITTER
  • 19. Thank you. Questions? PowerShell and SharePoint Talbott Crowell ThirdM.comhttp://talbottcrowell.wordpress.com/ Twitter: @talbott