SlideShare a Scribd company logo
PowerShell Basics for
Office Apps & Servers
Greg McMurray
SharePoint Saturday Utah
February 2019
Thank You SPSUtah 2019 Sponsors!
PLATINUM
• Lucidworks
• ZAACT
GOLD
• JourneyTEAM
• Sovereign SP
SILVER
• SkySync
ShareSki & SharePint
Intro – Greg
• Experience in Aerospace, Branding & Marketing,
Energy, Healthcare, Software
• Currently Senior Software Engineer at WECC
• Co-Founder of Aritus Computer Services, L.L.C.
• President of SharePoint / Office 365
and Dynamics 365 User Groups
• Find me online:
- @goyuix
- https://www.linkedin.com/in/goyuix
- https://stackoverflow.com/cv/goyuix
( top 2% of users )
Pluralsight IQ
https://www.pluralsight.com/product/skill-iq
Agenda
•PowerShell History & Basics
•SharePoint Online
•SharePoint PnP Library
•SharePoint On-Premises
•Office Apps Automation
This Photo by Unknown Author is licensed under CC BY-NC-ND
In the beginning
We needed a shell
Not that kind
of shell . . .
Our forebears: CSH
• Hey look! A C-Shell
• We are getting closer
• Created by Bill Joy as a graduate student
at UC Berkeley in the late 1970s
• “reads commands from a file … supports
filename wildcarding, piping, here
documents, command substitution,
variables and control structures for
condition-testing and iteration” – C-Shell,
Wikipedia
This Photo by Unknown Author is licensed under CC BY-SA
PowerShell Origin Story:
Monad & Manifesto
• Monad: Term coined by Leibniz to represent a fundamental
unit of existence, that are combined and composed into for
a purpose
• PowerShell paper in 2002 states: “provide a powerful,
consistent, intuitive, extensible and useful set of tools”
• Game changer: Piping objects instead of text
PowerShell Versions
• 1.0: for XP, Vista and Server 2003
• 2.0: included in Win 7 & Server 2008
• 3.0: included in Win 8 & Server 2012
• 4.0: included in Win 8.1 & Server 2012 R2
• 5.0/5.1: include in Win 10 & Server 2016
• 6.0: Becomes PowerShell Core
PowerShell Basics - cmdlets
•Verb-Noun Syntax
• Examples:
• Get-Help
• Get-Command
• Get-Member
• about* pages
PowerShell Basics - Variables
• Variables are labels that hold values
• Start with a dollar sign
• Values have types
• A bunch of special variables exist:
$ENV, $_, $error, etc.
PowerShell Basics - Piping
• The pipe character: |
•Quite literally “pipes” output from
the left side to the right as input
• Reminder: Everything is an object,
might be a string, or something else
PowerShell Basics - Control
•if () { } else {}
• do { } while ()
• foreach ($item in $stuff) {}
• $stuff | ForEach-Object { $_ }
SharePoint Online Management Shell
• https://docs.microsoft.com/en-us/powershell/sharepoint/sharepoint-
online/connect-sharepoint-online?view=sharepoint-ps
• https://www.powershellgallery.com/packages/Microsoft.Online.Share
Point.PowerShell/
• Remember PowerShell needs elevated / admin permissions
• Install: Install-Module -Name Microsoft.Online.SharePoint.PowerShell
• Verify: Get-Module -Name Microsoft.Online.SharePoint.PowerShell
• Notes: You may need to update NuGet and trust the Gallery
PowerShell - SPO
$email = 'admin@tenant.com’
$url = 'https://tenant-admin.sharepoint.com'
$cred = Get-Credential $email
Connect-SPOService -Url $url -Credential $cred
• Note: If MFA is enabled, just omit the credential parameter and you
will be prompted through the authentication process
SharePoint Patterns and Practices (PnP)
• https://docs.microsoft.com/en-us/powershell/sharepoint/sharepoint-
pnp/sharepoint-pnp-cmdlets?view=sharepoint-ps
• “Perform complex provisioning and artifact management”
• Uses Client Side Object Model (CSOM)
• Three different versions:
• Install-Module SharePointPnPPowerShellOnline
• Install-Module SharePointPnPPowerShell2016
• Install-Module SharePointPnPPowerShell2013
PowerShell - PnP
$url = 'https://your-tenant.sharepoint.com'
$cred = Get-Credential admin@tenant.com
Connect-PnPOnline –Url $url –Credentials $cred
$list = Get-PnPList /Lists/MyCustomList
Set-PnPList –Identity $list –Hidden $true
• Note: If MFA is enabled, change -Credential to -UseWebLogin
On-Premises SharePoint
• https://docs.microsoft.com/en-us/powershell/module/sharepoint-
server/?view=sharepoint-ps
• Uses the SharePoint .NET API
• Must be run on servers that are part of your on-premises farm
PowerShell – On-Premises
# $Host.Runspace.ThreadOptions = "ReuseThread"
# Add-PsSnapin Microsoft.SharePoint.PowerShell
$url = 'https://your-farm.domain.local’
$site = Get-SPSite $url
$site.AllWebs | Select-Object Title,Url
Note: You may need to uncomment the first two lines if you are running the
script outside of the SharePoint Management Shell (it auto-includes them)
Office Apps Automation
• Work with your data and surface it in applications
• A few different approaches are available
• COM / .NET API
• Office OpenXML
• How would you like to work with this data?
PowerShell – Word Automation
# Must have Office installed, bad for servers
$word = New-Object -ComObject word.application
$word.Visible = $true
$word.Documents.Add()
PowerShell – Excel Automation
# https://github.com/dfinke/ImportExcel
Install-Module -Name ImportExcel
Get-Process | Export-Excel
Learning More
• Microsoft and the community have TONS of resources
• Weekly YouTube calls for PnP work
• Channel 9, docs.microsoft.com
• Pluralsight, LinkedIn Learning / Lynda.com, Udemy, others
• Let’s chat: What do you want to build?
• Contact Me: @goyuix or linkedin.com/in/goyuix
• Github: https://github.com/goyuix/presentations/

More Related Content

What's hot (20)

PPTX
Apex & jQuery Mobile
Christian Rokitta
 
PDF
Wordpress beyond blogging
Julien Minguely
 
PDF
AngularJS meets Rails
Elena Torró
 
PDF
How angularjs saves rails
Michael He
 
PPTX
Develop a vanilla.js spa you and your customers will love
Chris Love
 
PPTX
Best Practices for Building WordPress Applications
Taylor Lovett
 
PPTX
SharePoint Development 101
Greg Hurlman
 
PPTX
JavaScript front end performance optimizations
Chris Love
 
PDF
PLAT-7 Spring Web Scripts and Spring Surf
Alfresco Software
 
PPTX
Best Practices for WordPress in Enterprise
Taylor Lovett
 
PDF
A 20 minute introduction to AngularJS for XPage developers
Mark Leusink
 
PPT
Using RESTFUL APIs in ANGULARJS
Mindfire Solutions
 
PDF
Best Practices for WordPress
Taylor Lovett
 
PPTX
Episerver and search engines
Mikko Huilaja
 
PPTX
Elastic & Azure & Episever, Case Evira
Mikko Huilaja
 
PDF
Externalizing Chatter Using Heroku, Angular.js, Node.js and Chatter REST APIs
Salesforce Developers
 
PPTX
Dfc 2018 NativeScript
Baskar rao Dsn
 
PDF
You Got React.js in My PHP
Taylor Lovett
 
PPTX
Disrupting the application eco system with progressive web applications
Chris Love
 
PDF
PHP, OAuth, Web Services and YQL
kulor
 
Apex & jQuery Mobile
Christian Rokitta
 
Wordpress beyond blogging
Julien Minguely
 
AngularJS meets Rails
Elena Torró
 
How angularjs saves rails
Michael He
 
Develop a vanilla.js spa you and your customers will love
Chris Love
 
Best Practices for Building WordPress Applications
Taylor Lovett
 
SharePoint Development 101
Greg Hurlman
 
JavaScript front end performance optimizations
Chris Love
 
PLAT-7 Spring Web Scripts and Spring Surf
Alfresco Software
 
Best Practices for WordPress in Enterprise
Taylor Lovett
 
A 20 minute introduction to AngularJS for XPage developers
Mark Leusink
 
Using RESTFUL APIs in ANGULARJS
Mindfire Solutions
 
Best Practices for WordPress
Taylor Lovett
 
Episerver and search engines
Mikko Huilaja
 
Elastic & Azure & Episever, Case Evira
Mikko Huilaja
 
Externalizing Chatter Using Heroku, Angular.js, Node.js and Chatter REST APIs
Salesforce Developers
 
Dfc 2018 NativeScript
Baskar rao Dsn
 
You Got React.js in My PHP
Taylor Lovett
 
Disrupting the application eco system with progressive web applications
Chris Love
 
PHP, OAuth, Web Services and YQL
kulor
 

Similar to PowerShell Basics for Office Apps and Servers (20)

PDF
Mastering Office 365 with PowerShell - TechDays Finland 2020
Matti Paukkonen [MVP]
 
PPTX
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
SPS Paris
 
PPTX
SPSTC - PowerShell - Through the SharePoint Looking Glass
Brian Caauwe
 
PPTX
Introduction to PowerShell for SharePoint Admins and Developers
Michael Blumenthal (Microsoft MVP)
 
PDF
PowerShell Introduction to Administering SharePoint On-Premises & O365
Michael Greene
 
PPTX
SPSSTL - PowerShell - Through the SharePoint Looking Glass
Brian Caauwe
 
PPTX
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Michael Blumenthal (Microsoft MVP)
 
PDF
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
NCCOMMS
 
PPTX
SPSNL17 - Implementing SharePoint hybrid search, start to finish - Thomas Voc...
DIWUG
 
PDF
I6 - State of the art SharePoint PowerShell Nation 2017 - Spencer Harbar
SPS Paris
 
PPTX
Utilizing jQuery in SharePoint: Get More Done Faster
Mark Rackley
 
PDF
SharePoint Saturday New York: PowerShell for Office 365
Vlad Catrinescu
 
PPTX
Managing SharePoint Anywhere with Windows PowerShell
Ryan Dennis
 
PPTX
Spsatx slides (widescreen)
Ryan Dennis
 
PPTX
SPO Migration - New API
Ashish Trivedi
 
PPTX
Office 365 & PowerShell - A match made in heaven
Sébastien Levert
 
PPTX
SPugPt Meeting 35: Manage govern and drive adoption of share point online wit...
Comunidade Portuguesa de SharePoiint
 
PPTX
SharePoint 2013 App or Not to App
Kenneth Maglio
 
PPTX
Introduction to PowerShell at Chicago Code Camp 2014
Michael Blumenthal (Microsoft MVP)
 
PPTX
The Path through SharePoint Migrations
Brian Caauwe
 
Mastering Office 365 with PowerShell - TechDays Finland 2020
Matti Paukkonen [MVP]
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
SPS Paris
 
SPSTC - PowerShell - Through the SharePoint Looking Glass
Brian Caauwe
 
Introduction to PowerShell for SharePoint Admins and Developers
Michael Blumenthal (Microsoft MVP)
 
PowerShell Introduction to Administering SharePoint On-Premises & O365
Michael Greene
 
SPSSTL - PowerShell - Through the SharePoint Looking Glass
Brian Caauwe
 
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Michael Blumenthal (Microsoft MVP)
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
NCCOMMS
 
SPSNL17 - Implementing SharePoint hybrid search, start to finish - Thomas Voc...
DIWUG
 
I6 - State of the art SharePoint PowerShell Nation 2017 - Spencer Harbar
SPS Paris
 
Utilizing jQuery in SharePoint: Get More Done Faster
Mark Rackley
 
SharePoint Saturday New York: PowerShell for Office 365
Vlad Catrinescu
 
Managing SharePoint Anywhere with Windows PowerShell
Ryan Dennis
 
Spsatx slides (widescreen)
Ryan Dennis
 
SPO Migration - New API
Ashish Trivedi
 
Office 365 & PowerShell - A match made in heaven
Sébastien Levert
 
SPugPt Meeting 35: Manage govern and drive adoption of share point online wit...
Comunidade Portuguesa de SharePoiint
 
SharePoint 2013 App or Not to App
Kenneth Maglio
 
Introduction to PowerShell at Chicago Code Camp 2014
Michael Blumenthal (Microsoft MVP)
 
The Path through SharePoint Migrations
Brian Caauwe
 
Ad

More from Greg McMurray (11)

PPTX
Power Platform Introduction - Utah PowerApps and Flow User Group
Greg McMurray
 
PPTX
SharePoint Search - August 2019 at Utah SharePoint User Group
Greg McMurray
 
PPTX
Introduction to SQL Server Graph DB
Greg McMurray
 
PPTX
Power BI Streaming Datasets - San Diego BI Users Group
Greg McMurray
 
PPTX
Dynamics 365 Web API - CRMUG April 2018
Greg McMurray
 
PPTX
SQL Server Temporal Tables
Greg McMurray
 
PPTX
Sql Server 2016 and JSON
Greg McMurray
 
PPTX
Power BI Streaming Datasets
Greg McMurray
 
PPTX
Introduction to Microsoft Teams
Greg McMurray
 
PPTX
CRMUG Presentation on Dynamics CRM integration with SharePoint
Greg McMurray
 
PPTX
Real World Power Query for Excel and Power BI - SQL Saturday #576
Greg McMurray
 
Power Platform Introduction - Utah PowerApps and Flow User Group
Greg McMurray
 
SharePoint Search - August 2019 at Utah SharePoint User Group
Greg McMurray
 
Introduction to SQL Server Graph DB
Greg McMurray
 
Power BI Streaming Datasets - San Diego BI Users Group
Greg McMurray
 
Dynamics 365 Web API - CRMUG April 2018
Greg McMurray
 
SQL Server Temporal Tables
Greg McMurray
 
Sql Server 2016 and JSON
Greg McMurray
 
Power BI Streaming Datasets
Greg McMurray
 
Introduction to Microsoft Teams
Greg McMurray
 
CRMUG Presentation on Dynamics CRM integration with SharePoint
Greg McMurray
 
Real World Power Query for Excel and Power BI - SQL Saturday #576
Greg McMurray
 
Ad

Recently uploaded (20)

PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Biography of Daniel Podor.pdf
Daniel Podor
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
July Patch Tuesday
Ivanti
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 

PowerShell Basics for Office Apps and Servers

  • 1. PowerShell Basics for Office Apps & Servers Greg McMurray SharePoint Saturday Utah February 2019
  • 2. Thank You SPSUtah 2019 Sponsors! PLATINUM • Lucidworks • ZAACT GOLD • JourneyTEAM • Sovereign SP SILVER • SkySync ShareSki & SharePint
  • 3. Intro – Greg • Experience in Aerospace, Branding & Marketing, Energy, Healthcare, Software • Currently Senior Software Engineer at WECC • Co-Founder of Aritus Computer Services, L.L.C. • President of SharePoint / Office 365 and Dynamics 365 User Groups • Find me online: - @goyuix - https://www.linkedin.com/in/goyuix - https://stackoverflow.com/cv/goyuix ( top 2% of users )
  • 5. Agenda •PowerShell History & Basics •SharePoint Online •SharePoint PnP Library •SharePoint On-Premises •Office Apps Automation This Photo by Unknown Author is licensed under CC BY-NC-ND
  • 6. In the beginning We needed a shell
  • 7. Not that kind of shell . . .
  • 8. Our forebears: CSH • Hey look! A C-Shell • We are getting closer • Created by Bill Joy as a graduate student at UC Berkeley in the late 1970s • “reads commands from a file … supports filename wildcarding, piping, here documents, command substitution, variables and control structures for condition-testing and iteration” – C-Shell, Wikipedia This Photo by Unknown Author is licensed under CC BY-SA
  • 9. PowerShell Origin Story: Monad & Manifesto • Monad: Term coined by Leibniz to represent a fundamental unit of existence, that are combined and composed into for a purpose • PowerShell paper in 2002 states: “provide a powerful, consistent, intuitive, extensible and useful set of tools” • Game changer: Piping objects instead of text
  • 10. PowerShell Versions • 1.0: for XP, Vista and Server 2003 • 2.0: included in Win 7 & Server 2008 • 3.0: included in Win 8 & Server 2012 • 4.0: included in Win 8.1 & Server 2012 R2 • 5.0/5.1: include in Win 10 & Server 2016 • 6.0: Becomes PowerShell Core
  • 11. PowerShell Basics - cmdlets •Verb-Noun Syntax • Examples: • Get-Help • Get-Command • Get-Member • about* pages
  • 12. PowerShell Basics - Variables • Variables are labels that hold values • Start with a dollar sign • Values have types • A bunch of special variables exist: $ENV, $_, $error, etc.
  • 13. PowerShell Basics - Piping • The pipe character: | •Quite literally “pipes” output from the left side to the right as input • Reminder: Everything is an object, might be a string, or something else
  • 14. PowerShell Basics - Control •if () { } else {} • do { } while () • foreach ($item in $stuff) {} • $stuff | ForEach-Object { $_ }
  • 15. SharePoint Online Management Shell • https://docs.microsoft.com/en-us/powershell/sharepoint/sharepoint- online/connect-sharepoint-online?view=sharepoint-ps • https://www.powershellgallery.com/packages/Microsoft.Online.Share Point.PowerShell/ • Remember PowerShell needs elevated / admin permissions • Install: Install-Module -Name Microsoft.Online.SharePoint.PowerShell • Verify: Get-Module -Name Microsoft.Online.SharePoint.PowerShell • Notes: You may need to update NuGet and trust the Gallery
  • 16. PowerShell - SPO $email = '[email protected]’ $url = 'https://tenant-admin.sharepoint.com' $cred = Get-Credential $email Connect-SPOService -Url $url -Credential $cred • Note: If MFA is enabled, just omit the credential parameter and you will be prompted through the authentication process
  • 17. SharePoint Patterns and Practices (PnP) • https://docs.microsoft.com/en-us/powershell/sharepoint/sharepoint- pnp/sharepoint-pnp-cmdlets?view=sharepoint-ps • “Perform complex provisioning and artifact management” • Uses Client Side Object Model (CSOM) • Three different versions: • Install-Module SharePointPnPPowerShellOnline • Install-Module SharePointPnPPowerShell2016 • Install-Module SharePointPnPPowerShell2013
  • 18. PowerShell - PnP $url = 'https://your-tenant.sharepoint.com' $cred = Get-Credential [email protected] Connect-PnPOnline –Url $url –Credentials $cred $list = Get-PnPList /Lists/MyCustomList Set-PnPList –Identity $list –Hidden $true • Note: If MFA is enabled, change -Credential to -UseWebLogin
  • 20. PowerShell – On-Premises # $Host.Runspace.ThreadOptions = "ReuseThread" # Add-PsSnapin Microsoft.SharePoint.PowerShell $url = 'https://your-farm.domain.local’ $site = Get-SPSite $url $site.AllWebs | Select-Object Title,Url Note: You may need to uncomment the first two lines if you are running the script outside of the SharePoint Management Shell (it auto-includes them)
  • 21. Office Apps Automation • Work with your data and surface it in applications • A few different approaches are available • COM / .NET API • Office OpenXML • How would you like to work with this data?
  • 22. PowerShell – Word Automation # Must have Office installed, bad for servers $word = New-Object -ComObject word.application $word.Visible = $true $word.Documents.Add()
  • 23. PowerShell – Excel Automation # https://github.com/dfinke/ImportExcel Install-Module -Name ImportExcel Get-Process | Export-Excel
  • 24. Learning More • Microsoft and the community have TONS of resources • Weekly YouTube calls for PnP work • Channel 9, docs.microsoft.com • Pluralsight, LinkedIn Learning / Lynda.com, Udemy, others • Let’s chat: What do you want to build? • Contact Me: @goyuix or linkedin.com/in/goyuix • Github: https://github.com/goyuix/presentations/