Your SlideShare is downloading. ×

Spsdc 2014 o365_power_shell_csom_amitv


Published on

The main objective of this session is to show you how you can leverage both PowerShell and Client Side Object Model (CSOM) to manage your SharePoint Online instance.

The main objective of this session is to show you how you can leverage both PowerShell and Client Side Object Model (CSOM) to manage your SharePoint Online instance.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Thanks to our Sponsors!!!
  • 2. Chis O’Brien - MVP Reference: g-CSOM-in-PowerShell-scripts-with-Office365.html Credit for this session
  • 3. Self Promotion  Microsoft Community Contributor (MCC) Senior SharePoint Consultant @amitvasuMCP – SP 2013 BLOG – SharePoint Saturday DC
  • 4. Agenda PowerShell + CSOM Background and CSOM Overview How to Start DEMO Final Thoughts Why PowerShell + CSOM Q/A SharePoint Saturday DC
  • 5. “FTC to CAM – Stop creating content types and site columns declaratively” and-site-columns-declaratively.aspx How I started PowerShell + CSOM SharePoint Saturday DC
  • 6. Typical CT deployment process SharePoint Saturday DC
  • 7. What is being recommended SharePoint Saturday DC
  • 8. Challenge with O365  Guidance to not use declarative code for CT  You cannot use custom code in Sandbox solution.  Farm solutions are out of question. SharePoint Saturday DC
  • 9. CSOM Overview  Client side library for remotely communicating with SharePoint  Introduced in SharePoint 2010  Expanded upon in SharePoint 2013 SharePoint Saturday DC CSOM Overview
  • 10. How CSOM Works SharePoint Saturday DC
  • 11. CSOM Overview  How CSOM works in SharePoint 2013 SharePoint Saturday DC
  • 12. How CSOM Works  Create Context ClientContext ctx = new ClientContext("");  Call Load and ExecuteQuery Before Accessing Value Properties Web web = ctx.Web; ctx.Load(web); ctx.ExecuteQuery(); Console.WriteLine(web.Title); SharePoint Saturday DC
  • 13. Steps to start developing  Pick your Development environment  Local Machine  SharePoint 2013 Environment SharePoint Saturday DC
  • 14. Local Machine  Required copy of all SharePoint Client DLL  Located at C:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions15ISAPI  All DLLs that starts with Microsoft.SharePoint.Client  Reference them in your code from the location you copied them SharePoint Saturday DC
  • 15. SharePoint Environment  No need to do anything other than referencing DLLs from ISAPI folder. SharePoint Saturday DC
  • 16. Optional – Download SPO DLLs  Rene Modery - Script to download the SharePoint Online DLLs dlls/?utm_source=rss&utm_medium=rss&utm_campaign=script-to-download- the-sharepoint-online-dlls SharePoint Saturday DC
  • 17. Add reference to your DLLs $filePath = "c:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions15ISAPI" Set-Location $filePath Add-Type -Path (Resolve-Path "Microsoft.SharePoint.Client.dll") Add-Type -Path (Resolve-Path "Microsoft.SharePoint.Client.Runtime.dll") SharePoint Saturday DC
  • 18. Authentication - SPO $userName = "" $siteUrl = "" $pwd = Read-Host -AsSecureString $ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl) $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredenti als($userName, $pwd) SharePoint Saturday DC
  • 19. Authentication – On-Prem $userName = "" $siteUrl = "" $pwd = Read-Host -AsSecureString $ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl) $ctx.Credentials = New-Object System.Net.NetworkCredential($userName, $pwd) SharePoint Saturday DC
  • 20. Advantages  Repeatable and automated  Same script can be used across different environments  Extending out of the box PowerShell  Works with on-prem as well as SharePoint Online * SharePoint Saturday DC
  • 21. Summary  Anything you can do with CSOM can be achieved using PowerShell + CSOM  Great way to extend PowerShell capabilities  Can be used with SharePoint Online and On-prem  Spend time understanding CSOM  Microsoft.SharePoint.Client namespace SharePoint Saturday DC
  • 22. Thanks to our Sponsors!!!
  • 23. Join us at #SharePint sponsored by Metalogix at Clyde’s of Chevy Chase in the RaceCar Bar Downstairs Why? To network with fellow SharePoint professionals What? SharePint!!! When? 5:30 PM Where? RaceCar Bar Downstairs 5441 Wisconsin Ave Chevy Chase, MD 20815 Thanks to? Metalogix!