Live training: next batches coming soon. Join the waitlist:Waitlists open:Developer Training →Developer →Copilot Studio Training →Copilot Studio →

How to Check the SharePoint Version with PowerShell (Server and Online)

Before you install a cumulative update, open a support ticket or deploy a third-party solution, someone will ask which SharePoint build you’re on. Guessing from the look of the site doesn’t work, because SharePoint 2016, 2019 and Subscription Edition all report version 16.0.

In this tutorial, we’ll walk through the check SharePoint version PowerShell commands for a SharePoint Server farm, match the build number to a release and update, look it up without PowerShell, and read the SharePoint Online build with PnP PowerShell.

Quick answer: On SharePoint Server, open the SharePoint Management Shell and run (Get-SPFarm).BuildVersion, then match the number to the Microsoft Learn update list. In SharePoint Online there’s no cumulative update to check: (Get-PnPContext).ServerVersion shows the current service build after the first query.

What You Need Before You Start

Step 1: Get the Farm Build Number with Get-SPFarm

The farm object stores the configuration database build, the patch level the whole farm runs at. It works the same in SharePoint 2013, 2016, 2019 and Subscription Edition. If the Management Shell is new to you, start with our PowerShell for SharePoint guide.

# SharePoint Management Shell, run as administrator
(Get-SPFarm).BuildVersion

The result looks like 16.0.10417.20198 (major.minor.build.revision). The third part identifies the product and update, so that’s what you look up in Step 2.

Check each server with Get-SPProduct

Get-SPProduct lists the installed SharePoint products and every update applied. Run it per server to catch a machine that missed the patch:

# Products and installed updates on this server
Get-SPProduct -Local

# The same check for every SharePoint server in the farm
Get-SPServer | Where-Object Role -ne "Invalid" | ForEach-Object { Get-SPProduct -Server $_ }

Database servers show up in Get-SPServer with the role Invalid, so the filter skips them.

Step 2: Match the Build Number to a SharePoint Version

We built this cheat sheet from the Microsoft Learn SharePoint updates page, which lists every cumulative update (CU) with its build (checked October 2026):

VersionBuild familyBuilds on Microsoft LearnSupport
SharePoint 201315.0.xSP1 15.0.4571.1502; last update 15.0.5545.1000 (April 2023)Ended April 11, 2023
SharePoint Server 201616.0.4xxx to 16.0.5xxx16.0.4366.1000 (April 2016) to 16.0.5565.1001 (08/11/2026)Extended support ended July 14, 2026
SharePoint Server 201916.0.10xxx16.0.10338.12107 (November 2018) to 16.0.10417.20198 (08/11/2026)Extended support ended July 14, 2026
Subscription Edition16.0.14xxx and higher16.0.14326.20620 (December 2021) to 16.0.20326.20190 (10/13/2026)Supported, monthly updates
SharePoint Online16.0 + service build16.0.27807.12010 in our tenant on 10/23/2026Updated continuously by Microsoft

Because updates are cumulative, a build equal to or higher than the newest listed CU means the farm is current. Here’s the small function we use to name the product and compare it with the latest update:

PowerShell function that maps SharePoint build numbers to SharePoint 2013, 2016, 2019 and Subscription Edition and checks the latest CU

Three of the five sample builds are behind and need the newest update. Planning a move off 2016 or 2019? Our SharePoint Server Subscription Edition overview explains what changes, and the SharePoint 2019 guide covers the older release.

Step 3: Check the Version Without PowerShell

  • Central Administration: go to Upgrade and Migration > Check product and patch installation status to see every product and patch per server, or System Settings > Manage servers in this farm for the configuration database version.
  • Control Panel: on a server, Programs and Features > View installed updates lists the SharePoint updates by KB number.
  • From a browser: open /_vti_pvt/service.cnf on any SharePoint web application. The vti_extenderversion line shows the build, but treat it as a rough check and confirm with Get-SPProduct.

Site settings never shows a version, which is why most admins script it, like our PnP PowerShell scripts for daily work.

Step 4: Check the SharePoint Online Version with PnP PowerShell

SharePoint Online has no farm, so Get-SPFarm doesn’t exist there, but the client context reports the service build. New to the module? Start with installing PnP PowerShell:

Connect-PnPOnline -Url "https://spguides.sharepoint.com/sites/SPGuides" -ClientId $clientId -Interactive
$ctx = Get-PnPContext
$ctx.Load($ctx.Web)
Invoke-PnPQuery
$ctx.ServerVersion
PnP PowerShell Get-PnPContext ServerVersion showing the SharePoint Online build 16.0.27807.12010

Notice the first line: ServerVersion is empty until the context sends a request. After Invoke-PnPQuery, our tenant returned 16.0.27807.12010.

You can get the same build without signing in. SharePoint answers /_vti_pvt/service.cnf anonymously, and every response carries a MicrosoftSharePointTeamServices header:

Invoke-WebRequest reading service.cnf and the MicrosoftSharePointTeamServices header for the SharePoint Online build

Both show build 27807, the same number ServerVersion returned.

Does SharePoint Online Have Cumulative Updates?

No. Microsoft updates SharePoint Online continuously, so there’s no customer-visible CU to install. The build changes on its own and mainly helps when Microsoft support asks for it.

What you control is when features reach you. In the Microsoft 365 admin center, go to Settings > Org settings > Organization profile > Release preferences. Microsoft is retiring Targeted release in January 2027 in favor of Standard and Deferred release, and announces upcoming changes in the Message center.

Common Mistakes to Avoid

  • Reading ServerVersion too early: it’s blank until a query runs. A failed query shows up as the ExecuteQuery exception in PowerShell, not as a version.
  • Trusting BuildVersion right after patching: it changes only after the SharePoint Products Configuration Wizard (or PSConfig) upgrades the configuration database. Get-SPProduct shows the binaries already installed.
  • Calling 16.0 “SharePoint 2016”: 2016, 2019, Subscription Edition and SharePoint Online all start with 16.0. Always read the third part of the build.

Next Steps

Save the Get-SPFarm and Get-SPProduct output before and after every patch night, so you can prove what changed.

We’d keep these PnP PowerShell guides close for the next admin task:

Frequently Asked Questions

How do I get the SharePoint version with PowerShell?

On SharePoint Server, run (Get-SPFarm).BuildVersion in the SharePoint Management Shell. For SharePoint Online, connect with PnP PowerShell, run one query and read (Get-PnPContext).ServerVersion.

How do I check the SharePoint 2013 version?

Run (Get-SPFarm).BuildVersion on a SharePoint 2013 server. Builds start with 15.0, and the last update, 15.0.5545.1000, shipped in April 2023 when support ended.

How do I know which cumulative update is installed?

Compare your build with the SharePoint updates list on Microsoft Learn. The newest listed build at or below yours is your CU.

Can I check the SharePoint Online version?

Yes, but only the service build, such as 16.0.27807.12010. Microsoft updates SharePoint Online continuously, so there’s no CU to install.

How do I check my PowerShell version instead?

Run $PSVersionTable.PSVersion. Our guide on how to check the PowerShell version covers Windows PowerShell 5.1 and PowerShell 7.