Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Spsnyc 2014 o365 power shell csom
1.
2. THANK YOU
EVENT SPONSORS
• Please visit them and inquire about
their products & services
• To win prizes make sure to get your
bingo card stamped by ALL sponsors
5. Agenda
PowerShell + CSOM
Background and CSOM Overview
How to Start DEMO
Final Thoughts
Why PowerShell + CSOM
Q/A
SharePoint Saturday Toronto
Agenda
6. “FTC to CAM – Stop creating content types and site columns
declaratively”
http://blogs.msdn.com/b/vesku/archive/2013/11/06/ftc-to-cam-stop-creating-content-types-
and-site-columns-declaratively.aspx
How I started PowerShell + CSOM
SharePoint Saturday Toronto
8. What is being recommended
SharePoint Saturday Toronto
9. 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 Toronto
10.
11. CSOM Overview
Client side library for remotely communicating with
SharePoint
Introduced in SharePoint 2010
Expanded upon in SharePoint 2013
SharePoint Saturday Toronto
CSOM Overview
13. How CSOM Works –SP 2013
SharePoint 2013
SharePoint Saturday Toronto
14. How CSOM Works
Create Context
ClientContext ctx = new
ClientContext("http://intranet.contoso.com");
Call Load and ExecuteQuery Before Accessing
Value Properties
Web web = ctx.Web;
ctx.Load(web);
ctx.ExecuteQuery();
Console.WriteLine(web.Title);
SharePoint Saturday Toronto
15.
16. Steps to start developing
Pick your Development environment
Local Machine
SharePoint 2013 Environment
SharePoint Saturday Toronto
17. 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 Toronto
18. SharePoint Environment
No need to do anything other than referencing
DLLs from ISAPI folder.
SharePoint Saturday Toronto
19. Optional – Download SPO DLLs
Rene Modery - Script to download the
SharePoint Online DLLs
http://modery.net/script-to-download-the-sharepoint-online-
dlls/?utm_source=rss&utm_medium=rss&utm_campaign=script-to-download-
the-sharepoint-online-dlls
SharePoint Saturday Toronto
20.
21. 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 Toronto
26. 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 Toronto
27.
28. 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 Toronto
29.
30. THANK YOU
EVENT SPONSORS
• Please visit them and inquire about
their products & services
• To win prizes make sure to get your
bingo card stamped by ALL sponsors