3. 3
Slide
3
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Penny Coventry
• MVP: Office Server and Services
• 11 years
• Author/Co-author
• 10+ SharePoint Books
• Independent consultant
• Trainer & product specialist
• Worked with SharePoint since 2001
• UK Based, work in Europe & US
@pjcov
4. 4
Slide
4
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Content
• Administration of SharePoint Online
• Welcome to SharePoint / Office 365 Windows PowerShell
• Useful Windows PowerShell Commands
• Call to Action
5. 5
Slide
5
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Administration using the browser
• Three levels:
• Office 365 Admin Center
• Other Admin Centers
• SharePoint
• Exchange
• …
• SharePoint site
• Reading and writing items, and files
• List and library administration
• Site administration
6. 6
Slide
6
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Office 365
Microsoft Online Services Sign-in Assistant
Install-Module MSOnline
Windows Azure Active Directory Module for Windows
PowerShell
Install-Module Azure
Exchange
Online
Import
Windows
PowerShell cmdlets
into local Windows
PowerShell session
SharePoint
Online
SharePoint Online
Management Shell
(Windows
PowerShell Module)
SharePoint Patterns
and Practices
PowerShell Cmdlets
for SharePoint
Online
(Windows
PowerShell Module)
Skype for
Business Online
Skype for Business
Online Connector
Module
(Windows
PowerShell Module)
7. 7
Slide
7
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Office 365
Microsoft Online Services Sign-in Assistant
Windows Azure Active Directory Module for Windows PowerShell
Exchange Online
Import
Windows PowerShell
cmdlets into local
Windows PowerShell
session
SharePoint
Online
SharePoint Online
Management Shell
(Windows
PowerShell Module)
SharePoint Patterns
and Practices
PowerShell Cmdlets
for SharePoint Online
(Windows
PowerShell Module)
Skype for
Business Online
Skype for Business
Online Connector
Module
(Windows PowerShell
Module)
Azure Active Directory v3 PowerShell Module
– Public Preview
https://www.powershellgallery.com/packages/AzureADPreview
8. 8
Slide
8
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Office 365 Administration
• Manage Office 365 level tasks, such as,
domain, license, organization information, and services
• Manage users and groups for:
• SharePoint Online
• Exchange Online
• Lync Online Services
• Member of Office 365 Global admin role
* PowerShell for Office 365
http://powershell.office.com
* Manage Office 365 with Office 365 PowerShell
https://technet.microsoft.com/en-us/library/dn568031.aspx
* Install and Configure PowerShell for Office 365
https://youtu.be/rEy2mlFVWa4
9. 9
Slide
9
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Office 365
Microsoft Online Services Sign-in Assistant
Windows Azure Active Directory Module for Windows PowerShell
Exchange Online
Import
Windows PowerShell
cmdlets into local
Windows PowerShell
session
SharePoint
Online
SharePoint Online
Management Shell
(Windows
PowerShell Module)
SharePoint Patterns
and Practices
PowerShell Cmdlets
for SharePoint Online
(Windows
PowerShell Module)
Skype for
Business Online
Skype for Business
Online Connector
Module
(Windows PowerShell
Module)
SharePoint Patterns
and Practices
PowerShell Cmdlets
for SharePoint Online
(Windows
PowerShell Module)
10. 10
Slide
10
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
SharePoint Online
Management Shell
(Windows
PowerShell Module)
Office 365
Microsoft Online Services Sign-in Assistant
Windows Azure Active Directory Module for Windows
PowerShell
Exchange
Online
Import
Windows
PowerShell
cmdlets into local
Windows
PowerShell
session
SharePoint
Online
SharePoint Online
Management Shell
(Windows
PowerShell Module)
SharePoint Patterns
and Practices
PowerShell Cmdlets
for SharePoint Online
(Windows
PowerShell Module)
Skype for
Business
Online
Skype for Business
Online Connector
Module
(Windows
PowerShell
Module)
SharePoint Online
Management Shell
(Windows
PowerShell Module)
11. 11
Slide
11
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Welcome SharePoint / Office 365 PowerShell
• SharePoint v1/v2 (2001-2003):
• Some command line interface, including an early version of stsadm
• SharePoint 2007:
• STSADM: 182 Commands (MOSS)
• SharePoint 2010
• 652 PowerShell cmdlets
• SharePoint 2013
• 820 cmdlets
• SharePoint 2016
• 833 cmdlets FP1 838 cmdlets
• Office 365
• 96 Microsoft Online cmdlets (AzureAD – 135 cmdlets)
• 90 SharePoint Online cmdlets (SharePointPnPPowerShellOnline – 251 cmdlets)
*PowerShell 10 Year Anniversary : PowerShell Evolution https://www.youtube.com/watch?v=qmni0TqknBE
12. 12
Slide
12
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
SharePoint Online Management Shell
• Windows PowerShell module
• Manage SharePoint Online users and sites
• Must be SharePoint Online global administrator
• Install
• Windows PowerShell 3.0
http://go.microsoft.com/fwlink/p/?LinkID=244693
• SharePoint Online Management Shell
http://go.microsoft.com/fwlink/p/?LinkId=35588
• Open SharePoint Online Management Shell
Connect-SPOService –Url https://p3c-admin.sharepoint.com
–Credentials penny@p3c.onmicrosoft.com
Get-SPOSite
13. 13
Slide
13
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Office 365 Dev Patterns and Practices
• Originally a project for creating and demonstrating patterns and solutions
related to the Add-In Model
• Formed 2013 by Microsoft consultants
• Open source community effort
• Has grown to also include:
• Office 365 Dev API
• Office Add-Ins
• Graph API
• Project Online REST Samples
• UX Design Patterns
• …
• http://aka.ms/OfficeDevPnPYammer
• Open source community effort
• https://msdn.microsoft.com/en-us/pnp_powershell/pnp-powershell-overview
14. 14
Slide
14
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
PnP-PowerShell
• Utilize CSOM behind the scenes,
• Can run on any computer that accesses server over HTTP / HTTPS.
• PowerShell Gallery *
https://www.powershellgallery.com/packages/SharePointPnPPowerShellOnline/
• Updated in principle on a monthly basis
• Office Developer repositories on GitHub
https://github.com/OfficeDev/PnP-PowerShell
Install-Module -Name SharePointPnPPowerShellOnline
Update-Module -Name SharePointPnPPowerShellOnline
Get-Module SharePointPnPPowerShellOnline -ListAvailable |
Select-Object Name,Version | Sort-Object Version –Descending
Connect-PnPOnline -Url https://p3c.sharepoint.com
* If not using Windows 10, install Windows Management Framework 5.0
Similar commands for SharePointPnPPowerShell2016 and SharePointPnPPowerShell2013
16. 16
Slide
16
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Demo 1: The Basics – SharePoint Online
• Install
• Microsoft Online Services Sign-in Assistant
http://go.microsoft.com/fwlink/p/?LinkId=286152
• Windows Azure Active Directory Module for Windows PowerShell
http://go.microsoft.com/fwlink/p/?linkid=236297
• Open the Windows Azure Active Directory Module
Start-Transcript –Path c:toolsUKComScriptLog.txt # -Append
Dir
Get-Help
Get-Help Connect-SPOService
Get-Help Connect-SPOService –Examples
Get <Tab>
Get-Com <IntelliSense> # Completes command for you
# Lets you know when you have mistyped something
# because if you hit tab nothing will happen
Get-help Get-help
Get-SPOSite # Error
17. 17
Slide
17
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Demo:
2. Commands
3. Pipelines:
The vertical bar |
Passes something from one cmdlet to another
Very useful and powerful
Don’t have to use it
Line continuation <cr> after ‘ { | -
4. Variables
• All variables begin with a dollar sign
• Variable names (like everything in PowerShell) are not case sensitive
5. Loops
6. PnP
18. 18
Slide
18
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Special Variables
$_
• Contains the current pipeline object, used in script blocks, filters, and the where statement
$Args
• Contains an array of the parameters passed to a function
$Error
• Contains objects for which an error occurred while being processed in a Cmdlet
$Home
• Specifies the user's home directory
$PsHome
• The directory where the Windows PowerShell is installed
Get-Help about_automatic_variables | more
$true
• True
$false
• False
$null
• Null
19. 19
Slide
19
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Windows PowerShell for SharePoint Command
Builder
https://www.microsoft.com/resources/technet/en-us/office/media/windowspowershell/windowspowershellcommandbuilder.html
Windows PowerShell Command Builder Getting Started Guide https://www.microsoft.com/en-us/download/details.aspx?id=27588
21. 22
Slide
22
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
Call to Action: Windows PowerShell
• Azure Active Directory:
• #AzureAD Cmdlets
https://msdn.microsoft.com/en-us/library/jj151815.aspx
• New enhancements #Azure AD PowerShell 2.0 preview. Manage
dynamic groups and more
https://blogs.technet.microsoft.com/enterprisemobility/2016/11/03/ne
w-enhancements-to-the-azuread-powershell-2-0-preview-manage-
dynamic-groups-and-more/
• Azure Active Directory cmdlets for configuring group settings
https://docs.microsoft.com/en-us/azure/active-directory/active-
directory-accessmanagement-groups-settings-cmdlets
• PnP
• Web Cast:
• https://channel9.msdn.com/blogs/OfficeDevPnP/PnP-Web-Cast-
Introduction-to-Office-365-PnP-PowerShell
• https://channel9.msdn.com/blogs/OfficeDevPnP/Introduction-to-PnP-
PowerShell-Cmdlets
• https://channel9.msdn.com/blogs/OfficeDevPnP/PnP-Webcast-PnP-
PowerShell-Getting-started-with-latest-updates
• Build your PnP site provisioning with PowerShell in Azure Functions
and run it from Microsoft Flow
http://johnliu.net/blog/2016/11/build-your-pnp-site-provisioning-with-
powershell-in-azure-functions-and-run-it-from-
flow?utm_content=bufferbeba3&utm_medium=social&utm_source=tw
itter.com&utm_campaign=buffer
• Windows PowerShell Team Blog
http://technet.microsoft.com/en-gb/scriptcenter/dd742419.aspx
• TechNet PowerShell Center
http://technet.microsoft.com/en-gb/scriptcenter/dd742419.aspx
• PowerShell Code Repository
http://poshcode.org/
• PowerShell Community
http://powershellcommunity.org/
• “Scripting with Windows PowerShell” on the Microsoft TechNet
Script Center
http://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx .
• An aggregation of Windows PowerShell bloggers
http://pipes.yahoo.com/powershell/englishbloggers
• A short introduction to Windows PowerShell in a free eBook
http://blogs.msdn.com/mapo/archive/2007/07/17/windows-
powershell-free-ebook-at-microsoft.aspx
• Mastering PowerShell by Dr. Tobias Weltner, a free eBook
http://blogs.msdn.com/powershell/archive/2009/07/17/free-
powershell-v1-book-from-the-makers-of-powershell-plus.aspx
• https://code.msdn.microsoft.com/SharePoint-and-PowerShell-
94d469c6
• http://jdhitsolutions.com/blog/essential-powershell-resources/
22. 23
Slide
23
The Accidental SharePoint Online Administrator | Penelope Coventry | 9:00 – 10:15 26th October 2017
Follow us:
#SPUnite17
More resources
• Best Practices
https://github.com/PoshCode/PowerShell
PracticeAndStyle/blob/master/Best%20Pr
actices/Introduction.md
• Quick reference to PowerShell variables,
cmdlets and other common commands:
http://msft.it/60128GY5w
• Using Regular Expressions with
PowerShell To Locate Data
https://mcpmag.com/articles/2016/06/02/r
egular-expressions-with-powershell.aspx
• Free eBook on PowerShell advanced
functions:
http://mikefrobbins.com/2015/04/17/free-
ebook-on-powershell-advanced-functions/
• PowerShell security: defending the
enterprise from the latest attach platform:
https://adsecurity.org/?page_id=1352
• Windows PowerShell scripts:
• Configure cloud hybrid search for
SharePoint
https://www.microsoft.com/en-
us/download/details.aspx?id=51490
• Migrate Distribution Lists to Office 365
Groups
https://www.microsoft.com/en-
us/download/details.aspx?id=51965
• Public Folders Migration Scripts
https://www.microsoft.com/en-
us/download/details.aspx?id=38407
• Post notifications to Microsoft Teams using
PowerShell
https://blogs.technet.microsoft.com/privatecl
oud/2016/11/02/post-notifications-to-
microsoft-teams-using-powershell/
• Updating PowerShell Help with One-Liner
http://community.idera.com/powershell/po
wertips/b/tips/posts/updating-powershell-
help-with-one-liner