1 / 30

Code Camp NZ 2011

Code Camp NZ 2011. # CCNZ. www.mscommunities.co.nz. Introduction. PowerShell and SharePoint extensively covered on TechNet 2010 Products administration by using Windows PowerShell http://technet.microsoft.com/en-us/library/ee806878.aspx Session Goals Demystify PowerShell + SharePoint

nida
Download Presentation

Code Camp NZ 2011

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Code Camp NZ 2011 #CCNZ www.mscommunities.co.nz

  2. Introduction • PowerShell and SharePoint extensively covered on TechNet2010 Products administration by using Windows PowerShellhttp://technet.microsoft.com/en-us/library/ee806878.aspx • Session Goals • Demystify PowerShell + SharePoint • Examples of PowerShell in action

  3. Session Agenda • Quick review of the basics and some useful Cmdlets • Walkthrough building a portal using PowerShell • Farm Administration • Site Administration • Deployment of Customisations • Diagnostics and Troubleshooting • Tips and Resources

  4. PowerShell Basics basics

  5. How Do I?Work with PowerShell + SharePoint • SharePoint 2010 Management Shell If you’re not using the SP2010 ManagementShell make sure $host.Runspace.ThreadOptions = "ReuseThread" • The PowerShell SharePoint Snapin provides the SP Cmdlets It’s always helpful include a reference to the Snapin Add-PSSnapinMicrosoft.SharePoint.PowerShell-ErrorActionSilentlyContinue

  6. What Do I Get?With PowerShell + SharePoint • SharePoint Cmdlets • 245 listed on TechNet for SharePoint Foundation • 527 listed on TechNet for SharePoint Server (there’s more according to Get-Command)

  7. Cmdlets“…a lightweight command [for PowerShell]…” • Cmdlets return or operate on objects or collections • Use the pipeline | to pass and process objects$myObject | ForEach-Object { DoStuff $_ } ForEach %$myObject | Where-Object { $_ -gt 1 } Where ? • I need some help? Some helpful Cmdlets: Get-HelpGet-Command $myObject | Get-Member

  8. Assemblies and ClassesPowerShell is not just limited to Cmdlets • Create objects with New-Object $site = New-Object Microsoft.SharePoint.SPSite("http://tech.ed") • Load other SharePoint or .NET assemblies [System.Reflection.Assembly]::LoadWithPartialName ("Microsoft.Office.Server.Search") [System.Reflection.Assembly]::Load ("Microsoft.Office.Server.Search, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c") Deprecated

  9. Farm Administration

  10. Farm AdministrationAdding content to the farm • Adding Web ApplicationsNew-SPWebApplication • Update the Web ApplicationGet-SPWebApplication • Adding Site CollectionsNew-SPSite • Content Databases • Adding new databasesNew-SPContentDatabase • Attaching existing databasesMount-SPContentDatabase • Test them using Test-SPContentDatabase

  11. Farm AdministrationProtect and share the content • Backup and Restore • See the backup historyGet-SPBackupHistory • Farm and more granularBackup-SPFarmandRestore-SPFarm • Site CollectionBackup-SPSiteandRestore-SPSite • Search • The SAGet-SPEnterpriseSearchServiceApplication • Content SourcesGet-SPEnterpriseSearchCrawlContentSource

  12. Farm Administration demo

  13. Site Administration

  14. Site Collections and SitesSites…Also known as SPWeb’s • Adding sub sitesNew-SPWeb • Change the site collection(s) and site(s) properties • Get-SPSiteandGet-SPWeb • Site Permissions and Users • Add users and permissionsNew-SPUserandSet-SPUser • Site collection administratorsSet-SPSiteAdministration

  15. Site HierarchySPWeb has a lot of friends • The site’s hierarchy • Sub sites.Webs • Lists.Lists • Content Types.ContentTypes • Fields.Fields • . . .

  16. Site Administration demo

  17. Customisation Deployment and Diagnostics

  18. Customisations and Deployment • Solutions • Retrieve solutions in farmGet-SPSolutionand download to file system.SolutionFile.SaveAs() • Add/Deploy new solution to farmAdd-SPSolutionand Install-SPSolution • Remove existing Solution to farmRemove-SPSolutionandUninstall-SPSolution • Update existing farm solutionUpdate-SPSolution • Features • List all features in farmGet-SPFeature • Install/Remove featureInstall-SPFeatureand Uninstall-SPFeature • Activate/Deactivate featuresEnable-SPFeatureand Disable-SPFeature

  19. Diagnostics and Troubleshooting • Developer Dashboard[Microsoft.SharePoint.Administration.SPWebService] ::ContentService.DeveloperDashboardSettings • Listening to SharePoint’s logging service (ULS) Get-SPLogEvent

  20. Customisation Deployment and Diagnostics demo

  21. Resources and Tips tips

  22. Script Tips • Use and save scripts – they can be reused, maintained, reused, reused… PS C:\TENZ11\PS> .\myscript.ps1 • Use variables – they make scripts easier to read and maintain $siteUrl = "http://intranet" • Use functions – pieces of logic in the script function Update-SiteTitle($site, $title) { $site.Title = $title $site.Update() } • Use comments # This explains what the script is doing which is helpful in the future • Tab Ahead - PowerShell lets you tab to complete pathname and input • Providing some output is helpful Write-Host “About to do stuff" vs. “About to do stuff" • Build and test your scripts incrementally. Not directly in production!

  23. Disposal TipsObject disposal is important to release memory • Easiest method is to useSPAssignment Start-SPAssignment -Global # Do stuff ... Stop-SPAssignment –Global • You can use.Dispose()to clean up after yourself$site = Get-SPSite http://intranet; $site.Usage; $site.Dispose() • Closing the PowerShell Console cleans up the session but it’s the lazy option

  24. Scripts Won’t Run?Usually it will be permissions • What’s your Execution Policy?Set-ExecutionPolicyRestricted | AllSigned | RemoteSigned| Unrestricted • Is UAC on? You may have to “Run as Administrator” • Does the account have rights on databases? Add-SPShellAdmin-UserNamedemo\SPUser-database SP2010_Content_TENZ

  25. Session TipsSome More Useful Cmdlets • Let the farm document itself usingExport-Clixmlhttp://bit.ly/psfarmdoc • UseOut-GridViewto output to a Grid UINeeds PowerShell ISE feature enabled (not on by default) • UseImport-CSVto read from CSV files. Great input to other “creation” Cmdlets likeNew-SPUserand New-SPWebhttp://bit.ly/psimportcsv

  26. ResourcesUseful Blogs • NiklasGoudehttp://www.powershell.nu/ • Zach Rosenfieldhttp://sharepoint.microsoft.com/Blogs/zach • Gary Lapointehttp://blog.falchionconsulting.com/

  27. ResourcesOfficial Stuff • Windows PowerShell for SharePoint Server 2010http://technet.microsoft.com/en-us/library/ee662539.aspx • Windows PowerShell for SharePoint Foundation 2010http://technet.microsoft.com/en-us/library/ee662510.aspx • STSADM to Windows PowerShell mappinghttp://technet.microsoft.com/en-us/library/ff621081.aspx • Microsoft.SharePoint Namespace (MSDN)http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.aspx

  28. Track ResourcesInstallation • AutoSPInstallerhttp://autospinstaller.codeplex.com/ • Install SharePoint Server 2010 by using Windows PowerShell (SPModule)http://technet.microsoft.com/en-us/library/cc262839.aspx • The Wizard Likes His GUIDs (Configuring Service App’s without the Wizard)http://todd-carter.com/post/2010/04/26/The-Wizard-Likes-His-GUIDs.aspx

  29. 4th Annual Community SharePoint Conference • Business and Technical Tracks, all levels • Superb Internationally Renowned SharePoint Experts Content Slide

  30. Thanks to our sponsorsand partners! Sponsor Premier Partners Associated Partners Supporting Partners

More Related