Welcome!

Blog Feed Post

How to: Use PowerShell with SharePoint Online Preview

I recently spoke about PowerShell at SharePoint Conference 2012 (SPC195).  It turns out PowerShell support slipped into SharePoint Online Preview without a lot of people noticing.  In my session at SPC12, I walked users through a lot of common scenarios of using PowerShell with SPO that I wanted to share with you.  This post will show you how to get connected to your SharePoint Online tenant and how to do work with sites.  In a follow-up post, I’ll show you how to work with users and groups.  Keep in mind this only work with SharePoint Online Preview right now.  When your existing V14 tenants get upgraded to V15, you will be able to use it then.

To get started, you need to install the SharePoint Online Management Shell.  Since this is based on PowerShell 3.0, you need to have that installed.  If you have Windows 8 or you are running this on a machine with SharePoint 2013 already, you’re ready to go.  However, if you are running Windows 7, you’ll need to install Windows Management Framework 3.0.  After you have installed it, simply launch SharePoint Online Management Shell from the start menu.  You shouldn’t need to run it as Administrator.

Connecting to SharePoint Online

Before you connect to SharePoint Online, you’ll need to have the username and password for an account with global administrator permissions.  You’ll also need to know your tenant admin URL (i.e.: https://mytenant-admin.sharepoint.com).   When connecting to SharePoint Online, don’t forget to reference all URLs securely using https.  If you try and use http, you will get an error.

To connect to SharePoint Online, use the Connect-SPOService command.  It takes the URL to your tenant admin and a username.  When you connect, you’ll be prompted for your password.

Connect-SPOService –Url https://mytenant-admin.sharepoint.com –Credential [email protected]

SPOPPowerShellConnectSPOServiceCredentials

If you connect successfully, you will be returned to the command prompt without error.  To see what commands are available, we can use Get-Command and pass it the module Microsoft.Online.SharePoint.PowerShell.dll.  You can get the full list on TechNet.

Get-Command –Module Microsoft.Online.SharePoint.PowerShell

SPOPPowerShellGetCommand

Getting Site Collections

To work with Site Collections, use Get-SPOSite (TechNet).  It can return a single site with the –Identity parameter or it can filter a list of them with the –Filter parameter.  The Filter parameter does server side filtering and can be used with the case sensitive operators (-like, –notlike, –eq, and –ne).  You can also run it without any parameters to return all site collections.

Get-SPOSite

SPOPowerShellGetSPOSite

This doesn’t return the data in the greatest format though.  It would be nice to see the full URL and when thinking about upgrades it would nice to see the CompatibilityLevel (either 14 or 15).  We can do this by piping the output to Format-Table (ft) and specifying the desired fields.

Get-SPOSite | ft Url, CompatibilityLevel

SPOPowerShellGetSPOSiteFT

You’ll notice that the CompatibilityLevel came back as 0 here.  This is because, Get-SPOSite uses CSOM under the hood and it does not request all values by default.  To get this data, you need to add the –Detailed parameter.

Get-SPOSite –Detailed | ft Url, CompatibilityLevel

SPOPowerShellGetSPOSiteDetailedFT

The syntax of the server side filtering can be a bit tricky.  The key thing to remember is that the operators are case sensitive so they must be lower-case.  In the example, below I do a server-side filter looking for any site with the word “Contoso” in the URL.  Put the expression you are searching for in braces.

Get-SPOSite –Filter {Url -like “*term*} | Ft Url

SPOPowerShellGetSPOSiteFiltered

One thing you may have noticed is that there are not any commands to create subsites.  Currently only site collections are supported.

Creating Site Collections

Site Collections can be created using the New-SPOSite (TechNet) cmdlet.  This cmdlet takes a heap of parameters.  Note that you still have to use the preset managed paths available to you in SharePoint Online.

New-SPOSite -Url https://mytenant.sharepoint.com/sites/sitename -Owner "[email protected]" -StorageQuota "500" -NoWait -ResourceQuota "500" -Template "STS#0" -Title "Site Title"

SPOPowerShellNewSite

As mentioned above, you can run Get-SPOWebTemplate to return a list of available site templates.

Get-SPOWebTemplate

SPOPowerShellGetSPOWebTemplate

Deleting Site Collections

To delete a site collection simply, use Remove-SPOSite (TechNet) and pass it the URL in the Identity parameter.  It can also optionally take the –NoWait parameter was well.

Remove-SPOSite –Identity https://mytenant.sharepoint.com/sites/sitename –NoWait

SPOPowerShellRemoveSPOSite

Restoring Site Collections

Deleted site collections get moved to the site collection recycle bin.  To restore a site collection that you have deleted, use Restore-SPODeletedSite (TechNet).  It takes the same parameters as Remove-SPOSite.

Restore-SPODeletedSite –Identity https://mytenant.sharepoint.com/sites/sitename –NoWait

SPOPowerShellRestoreSPODeletedSite

Upgrading Site Collections

SharePoint Online also has the concept of deferred site collection upgrades.  This means you can upgrade the site collections one-by-one or in batch using PowerShell.  To run the Site Collection health check first, use Test-SPOSite (TechNet) and pass it the URL in the identity parameter.  Once you are ready to upgrade use Upgrade-SPOSite (TechNet).  Be sure and pass the –V2VUpgrade parameter or it won’t upgrade it.

Test-SPOSite -Identity http://mytenant.sharepoint.com/sites/sitename

Upgrade-SPOSite -Identity http://mytenant.sharepoint.com/sites/sitename -V2VUpgrade

Unfortunately, I don’t have a tenant that can be upgraded yet, so I can’t provide a screenshot of this procedure.

 

Hopefully, you found these PowerShell cmdlets useful.  I think they will help a lot when it comes to working with SharePoint Online.  In the next post, we’ll cover how to work with users and groups.

Read the original blog entry...

More Stories By Corey Roth

Corey Roth, a SharePoint Server MVP, is a consultant at Hitachi Consulting specializing in SharePoint and Office 365 for clients in the energy sector. He has more than ten years of experience delivering solutions in the energy, travel, advertising and consumer electronics verticals.

Corey specializes in delivering ECM and search solutions to clients using SharePoint. Corey has always focused on rapid adoption of new Microsoft technologies including Visual Studio 2013, Office 365, and SharePoint.

He is a member of the .NET Mafia (www.dotnetmafia.com) where he blogs about the latest technology and SharePoint. He is dedicated to the community and speaks regularly at user groups and SharePoint Saturdays.

Latest Stories
Internet of @ThingsExpo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with the 21st International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. @ThingsExpo Silicon Valley Call for Papers is now open.
SYS-CON Events announced today that Twistlock, the leading provider of cloud container security solutions, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Twistlock is the industry's first enterprise security suite for container security. Twistlock's technology addresses risks on the host and within the application of the container, enabling enterprises to consistently enforce security policies, monitor...
This talk centers around how to automate best practices in a multi-/hybrid-cloud world based on our work with customers like GE, Discovery Communications and Fannie Mae. Today’s enterprises are reaping the benefits of cloud computing, but also discovering many risks and challenges. In the age of DevOps and the decentralization of IT, it’s easy to over-provision resources, forget that instances are running, or unintentionally expose vulnerabilities.
SYS-CON Events announced today that Ocean9will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Ocean9 provides cloud services for Backup, Disaster Recovery (DRaaS) and instant Innovation, and redefines enterprise infrastructure with its cloud native subscription offerings for mission critical SAP workloads.
Five years ago development was seen as a dead-end career, now it’s anything but – with an explosion in mobile and IoT initiatives increasing the demand for skilled engineers. But apart from having a ready supply of great coders, what constitutes true ‘DevOps Royalty’? It’ll be the ability to craft resilient architectures, supportability, security everywhere across the software lifecycle. In his keynote at @DevOpsSummit at 20th Cloud Expo, Jeffrey Scheaffer, GM and SVP, Continuous Delivery Busine...
While some vendors scramble to create and sell you a fancy solution for monitoring your spanking new Amazon Lambdas, hear how you can do it on the cheap using just built-in Java APIs yourself. By exploiting a little-known fact that Lambdas aren’t exactly single threaded, you can effectively identify hot spots in your serverless code. In his session at 20th Cloud Expo, David Martin, Principal Product Owner at CA Technologies, will give a live demonstration and code walkthrough, showing how to ov...
SYS-CON Events announced today that Enzu will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY, and the 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Enzu’s mission is to be the leading provider of enterprise cloud solutions worldwide. Enzu enables online businesses to use its IT infrastructure to their competitive ad...
Everywhere we turn in our industry we can find strong opinions about the direction, type and nature of cloud’s impact on computing and business. Another word that is used in every context in our industry is “hybrid.” In his session at 20th Cloud Expo, Alvaro Gonzalez, Director of Technical, Partner and Field Marketing at Peak 10, will use a combination of a few conceptual props and some research recently commissioned by Peak 10 to offer a real-world consideration of how the various categories of...
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm. In his Day 3 Keynote at 20th Cloud Expo, Chris Brown, a Solutions Marketing Manager at Nutanix, will explore t...
SYS-CON Events announced today that SoftLayer, an IBM Company, has been named “Gold Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. SoftLayer, an IBM Company, provides cloud infrastructure as a service from a growing number of data centers and network points of presence around the world. SoftLayer’s customers range from Web startups to global enterprises.
SYS-CON Events announced today that Interoute has been named “Bronze Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Interoute is the owner operator of Europe's largest network and a global cloud services platform, which encompasses over 70,000 km of lit fiber, 15 data centers, 17 virtual data centers and 33 colocation centers, with connections to 195 additional partner data centers. Our full-service Unifie...
SYS-CON Events announced today that CollabNet, a global leader in enterprise software development, release automation and DevOps solutions, will be a Bronze Sponsor of SYS-CON's 20th International Cloud Expo®, taking place from June 6-8, 2017, at the Javits Center in New York City, NY. CollabNet offers a broad range of solutions with the mission of helping modern organizations deliver quality software at speed. The company’s latest innovation, the DevOps Lifecycle Manager (DLM), supports Value S...
SYS-CON Events announced today that Peak 10, Inc., a national IT infrastructure and cloud services provider, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Peak 10 provides reliable, tailored data center and network services, cloud and managed services. Its solutions are designed to scale and adapt to customers’ changing business needs, enabling them to lower costs, improve performance and focus intern...
Multiple data types are pouring into IoT deployments. Data is coming in small packages as well as enormous files and data streams of many sizes. Widespread use of mobile devices adds to the total. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists will look at the tools and environments that are being put to use in IoT deployments, as well as the team skills a modern enterprise IT shop needs to keep things running, get a handle on all this data, and deli...
SYS-CON Events announced today that Linux Academy, the foremost online Linux and cloud training platform and community, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Linux Academy was founded on the belief that providing high-quality, in-depth training should be available at an affordable price. Industry leaders in quality training, provided services, and student certification passes, its goal is to c...