SharePoint Online: Get Site Properties using PowerShell

Requirement: Get site properties in SharePoint Online using PowerShell.

How to Get SharePoint Online Site details?

To get site details in SharePoint Online, you will need to head on to:

  1. SharePoint Admin center at https://YourDomain-admin.sharepoint.com/
  2. Expand Sites >> Active Sites.
  3. And you will be able to view site information such as the Site Name, URL, Storage, owner, Template, etc.
    powershell sharepoint online site detailed info

You can export these details to a CSV file. If you need further details about a specific site, you can use the below PowerShell scripts.

SharePoint Online: PowerShell to Get Site Properties

This quick PowerShell guide will show you how to get site properties for a SharePoint Online site. This script can be helpful when diagnosing issues with a site or gathering information for reporting purposes. Let’s walk through the steps necessary to obtain site settings using PowerShell!

You can get SharePoint Online site properties using SharePoint Management Shell cmdlet Get-SPOSite

#Set Parameters
$AdminSiteURL="https://Crescent-Admin.sharepoint.com"
$SiteURL="https://Crescent.sharepoint.com/sites/marketing"

#Connect to SharePoint Online Admin Center
Connect-SPOService -Url $AdminSiteURL -Credential (Get-Credential)

#Get site properties
Get-SPOSite $SiteURL | Select *

This PowerShell gets all properties of the site. Please note, the “-Detailed” switch is deprecated now.

sharepoint online powershell get site properties

SharePoint Online: PowerShell to Get Web Properties

Say you want to get the last modified date of a SharePoint Online site using PowerShell, Here is the CSOM way to get site properties:

#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
    
#Set Parameters
$SiteURL= "https://crescent.sharepoint.com/sites/marketing"

#Get Credentials to connect
$Cred = Get-Credential

#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
  
#Get the web
$Web = $Ctx.web
$Ctx.Load($Web)
$Ctx.executeQuery()

#Get Properties of the Web
$SiteProperties = New-Object PSOBject
$SiteProperties | Add-Member NoteProperty Title($Web.Title)
$SiteProperties | Add-Member NoteProperty Url($Web.Url)
$SiteProperties | Add-Member NoteProperty ServerRelativeUrl($Web.ServerRelativeUrl)
$SiteProperties | Add-Member NoteProperty Description($Web.Description)
$SiteProperties | Add-Member NoteProperty Created($Web.Created)
$SiteProperties | Add-Member NoteProperty LastModified($Web.LastItemModifiedDate)
$SiteProperties | Add-Member NoteProperty AllowRSSFeeds($Web.AllowRssFeeds)
$SiteProperties | Add-Member NoteProperty CustomMasterUrl($Web.CustomMasterUrl)
$SiteProperties | Add-Member NoteProperty EnableMinimalDownload($Web.EnableMinimalDownload)
$SiteProperties | Add-Member NoteProperty ID($Web.Id)
$SiteProperties | Add-Member NoteProperty Language($Web.Language)
$SiteProperties | Add-Member NoteProperty MasterUrl($Web.MasterUrl)
$SiteProperties | Add-Member NoteProperty QuickLaunchEnabled($Web.QuickLaunchEnabled)
$SiteProperties | Add-Member NoteProperty RecycleBinEnabled($Web.RecycleBinEnabled)
$SiteProperties | Add-Member NoteProperty TreeViewEnabled($Web.TreeViewEnabled)
$SiteProperties | Add-Member NoteProperty UIVersion($Web.UIVersion)
$SiteProperties | Add-Member NoteProperty WebTemplate($Web.WebTemplate)
$SiteProperties | Add-Member NoteProperty ExcludeFromSearch($Web.NoCrawl)

$SiteProperties

Similarly, with PnP PowerShell, You can get the title or description of a SharePoint Online site as:

#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/retail"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Get the Web
$Web = Get-PnPWeb

#Get the Site Title
Write-host "Site Title:"$Web.Title

#Get Site description
Write-host "Site Description:" $Web.Description

PnP PowerShell to Get Site Detailed Info in SharePoint Online

Here is how to use PnP PowerShell to get site settings in SharePoint Online:

#Parameters
$AdminCenterURL = "https://crescent-admin.sharepoint.com"
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"

#Connect to Admin Center
Connect-PnPOnline -Url $AdminCenterURL -Interactive

#Get the Site's detailed info
Get-PnPTenantSite -Identity $SiteURL | Select -Property *

Salaudeen Rajack

Salaudeen Rajack - Information Technology Expert with Two decades of hands-on experience, specializing in SharePoint, PowerShell, Microsoft 365, and related products. Passionate about sharing the deep technical knowledge and experience to help others, through the real-world articles!

One thought on “SharePoint Online: Get Site Properties using PowerShell

  • Thanks for this – I am looking for a modern web part to display these properties – or at least a hint on how to call upon the PowerShell like this from a web part.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *