• Like
NZ Code Camp 2011 PowerShell + SharePoint
Upcoming SlideShare
Loading in...5
×

NZ Code Camp 2011 PowerShell + SharePoint

  • 489 views
Uploaded on

Nick Hadlee's session on PowerShell and SharePoint 2010 at Code Camp 2011.

Nick Hadlee's session on PowerShell and SharePoint 2010 at Code Camp 2011.

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

Views

Total Views
489
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
13
Comments
0
Likes
1

Embeds 0

No embeds

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
  • ForEach-Object and Where-Object both use $_ to represent the default objectWhere-ObjectFiltering the data streamUse operators to perform filter:-lt -- Less than-le -- Less than or equal to-gt -- Greater than-ge -- Greater than or equal to-eq -- Equal to-ne -- Not equal to-like - Like; uses wildcards for pattern matching
  • New Site CollectionFind out what templates are available Get-SPWebTemplate
  • Set-ExecutionPolicyhttp://technet.microsoft.com/en-us/library/ee176961.aspxAdd-SPShellAdminhttp://blogs.technet.com/b/heyscriptingguy/archive/2010/07/06/hey-scripting-guy-tell-me-about-permissions-for-using-windows-powershell-2-0-cmdlets-with-sharepoint-2010.aspx
  • Document Farm with export-Clixmlhttp://technet.microsoft.com/en-us/library/ff645391.aspxImport-CSV http://technet.microsoft.com/en-us/library/dd347665.aspx

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. basics
    PowerShell 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. demo
    Farm Administration
  • 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. demo
    Site Administration
  • 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. demo
    Customisation Deployment and Diagnostics
  • 21. tips
    Resources and Tips
  • 22. Script Tips
    Use and save scripts – they can be reused, maintained, reused, reused…
    PS C:TENZ11PS> .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-UserNamedemoSPUser-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. Content Slide
    4th Annual Community SharePoint Conference
    Business and Technical Tracks, all levels
    Superb Internationally Renowned SharePoint Experts
  • 30. Thanks to our sponsorsand partners!
    Sponsor
    Premier
    Partners
    Associated
    Partners
    Supporting
    Partners