Archive for SharePoint Online

SharePoint Online – List of Sites & Webs

Scenario:

Need to create a PowerShell script that iterates through all SharePoint Online site collections and webs and generate info. regarding site collection size, last time site/web update and other.

Resolution:

Tweaked script by Jose Quinto @ https://blog.josequinto.com/2016/03/17/using-powershell-to-retrieve-all-sites-web-object-recursively-from-sharepoint-online/.

Output is two CSV files in temp folder on C drive root. One with the details and other with site collection on which account gets 401 error.

$Global:webinfo = @()

function AuthenticateUserProfile($siteUrl, $tenantAdmin, $secureAdminPassword)
{
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($tenantAdmin, $secureAdminPassword)
$ctx.Credentials = $credentials
return $ctx
}

function RecursiveWebs($ctx, $web){

foreach($w in $web.Webs)
{
$ctx.Load($w.Webs);
$ctx.ExecuteQuery();

$Properties = @{
Title = $w.Title
URL = $w.Url
NoOfSubsites = $w.Webs.Count
LastUserModifiedDate = $w.LastItemUserModifiedDate
LastItemModifiedDate = $w.LastItemModifiedDate
SiteCollection = ‘No’
SiteOwner = $w.Author.Title
}

$Global:webinfo += New-Object psobject -Property $properties

if ($w.Webs.Count -gt 0)
{
RecursiveWebs $ctx $w
}
}
}

$username = “adm@test.com”
$password = ConvertTo-SecureString “PASSWORD” -AsPlainText -Force
$O365Credential = New-Object System.Management.Automation.PsCredential($username, $password)

#SharePoint Online Admin site URL
Connect-SPOService -Url https://test-admin.sharepoint.com -Credential $O365Credential
$sites = Get-SPOSite -Limit All -Detailed

foreach ($site in $sites)
{
if(
$site.Url.Equals(“https://test.sharepoint.com/sites/new”) -or
$site.Url.Equals(“https://test.sharepoint.com/search”)
)
{
continue;
}

Write-Host $site.Url
try
{
$ctx = AuthenticateUserProfile $site.Url $username $password;
$web = $ctx.Web
$ctx.Load($web)
$ctx.ExecuteQuery()
$ctx.Load($web.Webs)
$ctx.ExecuteQuery()

$Properties = @{

Title = $site.Title
URL = $site.Url
SiteSizeLimitInMB = $site.StorageQuota
SiteUsageInMB = $site.StorageUsageCurrent
NoOfSubsites = $web.Webs.Count
SiteOwner = $site.Owner
LastContentModifiedDate = $site.LastContentModifiedDate
LastUserModifiedDate = $web.LastItemUserModifiedDate
SiteCollection = ‘Yes’
LastItemModifiedDate = $web.LastItemModifiedDate
}

$Global:webinfo += New-Object psobject -Property $properties

if ($web.Webs.Count -gt 0)
{
RecursiveWebs $ctx $web
}
}
catch
{
Write-Host $_ -ForegroundColor Red
$Properties1 = @{

Title = $site.Title
URL = $site.Url

}

$site401 += New-Object psobject -Property $properties1

}

}

$webinfo | Select-Object Title, URL, SiteSizeLimitInMB, SiteUsageInMB, LastItemModifiedDate,
LastUserModifiedDate, LastContentModifiedDate, NoOfSubsites,
SiteOwner, SiteCollection | Export-Csv -notypeinformation -Path ‘C:\temp\SPOinfo.csv’

$site401 | Select-Object Title, URL | Export-Csv -notypeinformation -Path ‘C:\temp\SPOinfo401.csv’

 

Comments (1)

SharePoint Online – Synch is not working

Scenario:

Installed Office 2016 on computers and unable to Synch document libraries

Resolution:

First check the version of OneDrive. Please make sure when press synch, exe should be running OneDrive.exe not groove.exe. If OneDrive.exe is running, please make sure OneDrive sync client must be version 17.3.6674.1021 or higher. If not, please follow steps:

  1. Download and install the preview build of the new OneDrive sync client.
  2. Download and open TeamSiteSyncPreview.reg to enable SharePoint document library sync.
  3. Restart computer
  4. Use Chrome to Synch document library.

Source:

https://support.office.com/en-us/article/Transition-from-the-previous-OneDrive-for-Business-sync-client-for-SharePoint-sites-887b9846-2192-4511-9311-de562ef64076

https://support.office.com/en-us/article/Get-started-syncing-SharePoint-sites-with-the-new-OneDrive-sync-client-Preview-6de9ede8-5b6e-4503-80b2-6190f3354a88?ui=en-US&rs=en-US&ad=US

Comments (1)