Managing SharePoint Anywhere with Windows PowerShell

46 %
54 %
Information about Managing SharePoint Anywhere with Windows PowerShell

Published on September 29, 2014

Author: SharePointRyan



With the growing adoption of Office 365 and SharePoint Online and the continued prevalence of SharePoint on-premises, it’s becoming more difficult to manage both environments in an automated fashion. While SharePoint Online does have native support for Windows PowerShell, there are very few cmdlets to manage the sites and site contents. SharePoint on-premises gives us well over 700 cmdlets, but it still doesn’t answer every situational scenario – leaving gaps in functionality which can be filled by scripters.

In this demo-heavy session, focused on both the developer AND the administrator – you’ll see how you can use one shell to manage both scenarios (on-premises and Office 365). Demonstrations will focus on building PowerShell Scripts and Advanced Functions for both target environments, and by the end of the session you’ll be ready to start Managing SharePoint Anywhere with PowerShell.

Managing SharePoint Anywhere with Windows PowerShell Ryan Dennis

Ryan Dennis Senior SharePoint Consultant at Blue Chip Consulting Group Recently published first book as a co-author SP Geek Father Drummer Husband @SharePointRyan /in/SharePointRyan Dog Lover Author /SharePointRyanDotCom

Archie the Corgi View slide

Ask Our Experts! • Visit the Blue Chip booth to chat with one of our Expert Consultants • Drop us your business card, and we’ll help you solve your business problem and you might win an XBOX One** • Our resident SharePoint MCM/MVP is here all day, Monday & Tuesday* • Visit our other sessions in the SharePoint & PowerShell tracks! *Except when presenting **Drawing Tuesday. Blue Chip Featured Expert Paul Stork @PStork Paul is a Microsoft SharePoint MVP and MCM who works as Principal Architect at Blue Chip Consulting Group. An author and/or contributor on several SharePoint books, Paul is a well-known contributor to the SharePoint community. View slide

Get-Agenda • Housekeeping • Intro to Advanced Functions • SharePoint PowerShell On-Premise • SharePoint PowerShell in Office 365 • Using Client Side Object Model (CSOM) code in PowerShell • Q&A

Get-Help –Topic “PowerShell” …is a task-based command-line shell and scripting language designed especially for Windows system administration …has a task-based scripting language …includes powerful object manipulation capabilities …is built on the .NET Framework

Verb-Noun PowerShell uses a Verb-Noun syntax for its Cmdlets • Get-Something • Set-Something • New-Something • Remove-Something Quick Tip! Use Get-Verb to find approved verbs! Use Verb-Noun in your code!

Get-Command & Get-Help • Use Get-Command to see available commands Get-Command –Module Microsoft.SharePoint.PowerShell Get-Command –Module Microsoft.Online.SharePoint.PowerShell • Use Get-Help <CmdletName> to get help information for a cmdlet Quick Tip! Add Help to your scripts and functions!

Get-Command –Type “SharePoint” • SharePoint 2010 – 500+ Cmdlets… – MUCH better than STSADM.exe in prior versions… – Can automate complete installations and configurations… • SharePoint 2013 – 700+ Cmdlets! • Still doesn’t answer every scenario, leaving gaps in functionality… – Example: Get, New and Remove SharePoint Groups – no cmdlet, easy to write a custom function though… Opportunity! Write our own scripts and functions!

Get-Help About_Functions_Advanced …allow you to perform operations that are similar to the operations you can perform with cmdlets …quickly write a function without having to write a compiled cmdlet using a Microsoft .NET Framework language (C#) …use the CmdletBinding() attribute to identify them as functions that act similar to cmdlets Quick Tip! Use Get-Help About_Functions_Advanced for more info!

New-Function –Name “Our First Function” • Leverages all of the Write-* cmdlets in the Microsoft.PowerShell.Utility module • Includes Switch statement, ValidateSet, Try/Catch/Finally, etc. • Includes comment-based-help with examples • Can be run just like a cmdlet Disclaimer! This is NOT a SharePoint demo, just a general PowerShell demo!

D E M O Write-Message

Get-Recap • Reviewed Write-Message function… • Created output using all Write* types • Saw the behavior of –Verbose and –Debug switches • Had some fun…

Get-Info “SP PowerShell On-Premises” • Uses the Microsoft.SharePoint.PowerShell snap-in • Access to hundreds* of native cmdlets • Script using Server Side Object Model Code • Run as default (administrative) user • Must have server access *782 cmdlets on my SP 2013 April 2014 CU farm.

Get-Info “SP PowerShell O365” • Uses the Microsoft.Online.SharePoint.PowerShell module • Access to thirty* (30) native cmdlets • Script using Client Side Object Model Code • Provide user credentials for ClientContext • No need for server access *30 cmdlets as of 9/19/2014.

Get-Started -with “SP Online Scripting” • Download the SharePoint Online Management Shell • Use Connect-SPOService to connect to your Tenant SharePoint Administration Site • Use Get-Command –Module Microsoft.Online.SharePoint.PowerShell to see the available cmdlets

Get-Intro –Topic “SharePoint CSOM” • Add the following Assemblies – Microsoft.SharePoint.Client.dll – Microsoft.SharePoint.Client.Runtime.dll • Create a ClientContext variable • Call the Load() and ExecuteQuery() methods • Once context is created, get and set properties… For help on writing CSOM, see

D E M O SharePoint Online

Get-Recap • Loaded assemblies using: Import-SPOAssemblies • Created context using New-SPOServiceContext • Created a new Site using New-SPOWeb • Retrieved Web using Get-SPOWeb • Set Properties with Set-SPOWebProperties Important! All of these functions/commands are a part of our custom PowerShell Module! Not OOTB.

Get-Info –Type “Bonus” • All of this works on-premises as well… – Just need to create ClientContext() differently • Use the System.Net.NetworkCredential object instead of Microsoft.SharePoint.Client.SharePointOnlineCredentials • It is security trimmed, if you don’t have SP permissions to do this – you can’t… • CSOM != SSOM – You do not have access to all of the same methods and properties…

Q U E S T I O N S ?

Ryan Dennis Senior SharePoint Consultant at Blue Chip Consulting Group Recently published first book as a co-author SP Geek Father Drummer Husband @SharePointRyan /in/SharePointRyan Dog Lover Author /SharePointRyanDotCom

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Get Started Managing SharePoint 2010 with PowerShell ...

Get Started Managing SharePoint 2010 with PowerShell Cmdlets ... you can start Windows PowerShell through the SharePoint 2010 Management Shell.
Read more

Using Windows PowerShell to Manage SharePoint 2010 ...

Using Windows PowerShell to Manage SharePoint 2010. ... support for Windows PowerShell. ... remotely is essential for managing your ...
Read more

Introduction to the SharePoint Online management shell

... SharePoint Online, or Windows PowerShell. ... not done much managing of SharePoint ... SharePoint 2013 SharePoint Online ...
Read more

Managing SharePoint Server with Windows PowerShell

Managing SharePoint Server with Windows PowerShell Tim Warner Author/Evangelist, Pluralsight
Read more

Best ways to manage Office 365 with Windows PowerShell

Summary: Windows PowerShell in Office 365 best practices when managing Azure Active Directory Online, SharePoint Online, Lync Online, and ...
Read more

Add Microsoft.SharePoint.PowerShell Snap-In to All ...

... { Add-PSSnapin "Microsoft.SharePoint.PowerShell"} The edit window ... Profile.ps1 and adding the Microsoft.SharePoint.PowerShell ...
Read more

Wiley: Automating SharePoint 2010 with Windows PowerShell ...

Automating SharePoint 2010 with Windows PowerShell 2.0 helps you save time ... Managing and Maintaining a SharePoint Environment. Chapter 16: Managing ...
Read more

Managing Office 365 and Exchange Online with Windows ...

Managing Office 365 and Exchange Online with Windows PowerShell. ... Online by using Windows PowerShell. Set up the SharePoint Online Management Shell ...
Read more

Windows PowerShell in the SharePoint Management Shell

The following Help topics and articles describe the fundamentals of developing Windows PowerShell cmdlets. Windows PowerShell (Windows Server ...
Read more