Skip to main content

PS script to generate reports of the guest users last login information from the Office 365 tenant.

 Dear All, 

As you know office 365/ SharePoint has a profound impact on the collaboration space where we collaborate with external users or business partner to work together sometimes we need to audit our platform such as how many guest users present on our tenant, I am posting a script that helps you to generate a report out of it. 

The script is below you may copy create a PS file to run from your machine. if need any help please reach out to me at kamal_pandey@outlook.com I would be very happy to help. 

<#
.NOTES 
DESCRIPTION: This script will generate guest users' last login information from the Office 365  tenant. 
#>

#Import SharePoint Online Management Shell
Import-Module Microsoft.Online.Sharepoint.PowerShell -DisableNameChecking
 
#Config Parameters
$AdminSiteURL="https://cpsgpartners-admin.sharepoint.com"
$ReportOutput ="C:\Temp\ExternalUsersRpt.csv"
 
#Get Credentials to connect
$Cred = Get-Credential
 
#Connect to SharePoint Online Tenant Admin
Connect-SPOService -URL $AdminSiteURL -Credential $Cred
 
#Get All Site Collections
$SiteCollections  = Get-SPOSite -Limit All
 
#Iterate through each site collection and get external users
Foreach ($Site in $SiteCollections)
{
    Write-host -f Yellow "Checking Site Collection:"$Site.URL
    Try {
        For ($x=0;;$x+=50) {
            $ExternalUsers += Get-SPOExternalUser -SiteUrl $Site.Url -Position $x -PageSize 50 -ErrorAction Stop | Select DisplayName,EMail,InvitedBy,AcceptedAs,WhenCreated,@{Name = "SiteUrl" ; Expression = {$Site.url}
        }
    }
}
catch {}
}
 
#Export the Data to CSV file
$ExternalUsers | Export-Csv -Path $ReportOutput -NoTypeInformation

Comments

Popular posts from this blog

Code : Responsive Full Master Page : Left Navigation , Top Menu header and Footer

<%-- SPG: This HTML file has been associated with a SharePoint Master Page (.master file) carrying the same name.  While the files remain associated, you will not be allowed to edit the .master file, and any rename, move, or deletion operations will be reciprocated. To build the master page directly from this HTML file, simply edit the page as you normally would.  Use the Snippet Generator at https://goodyearcorp.sharepoint.com/sites/SPOTest2/_layouts/15/ComponentHome.aspx?Url=https%3A%2F%2Fgoodyearcorp%2Esharepoint%2Ecom%2Fsites%2FSPOTest2%2F%5Fcatalogs%2Fmasterpage%2FRadarOnlineBrasil%2Emaster to create and customize useful SharePoint entities, then copy and paste them as HTML snippets into your HTML code.   All updates to this file will automatically sync to the associated Master Page.  --%> <%@Master language="C#"%> <%@Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoin...

Business-critical processes with SharePoint and SQL

SharePoint 2010 provides the ability to connect to backend business systems, surface business data in SharePoint and make it accessible by, and useful to, employees across the organization. Almost every company of significant size uses ERP and CRM solutions to run core business processes. Over time, companies have developed detailed practices around using such systems to support vertical disciplines within the organization (e.g. product planning, financial performance management, supply-chain management, etc.),  yet challenges remain with regard to driving visibility and collaboration, based on business data, across different disciplines and teams. These challenges stem from the fact that only a fraction of employees are licensed and trained to use those backend systems, and from the high cost and complexity of integrating such systems across different functions and teams. With SharePoint and SQL, once the relevant business data is surfaced in an enterprise-wide...

PowerShell - CSOM code to get SharePoint Online Sites Permission Report

#sharepoint online powershell permissions report 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"          $AdminSiteURL="https://m365x067565-admin.sharepoint.com/"   #Connect to SharePoint Online Admin Write-host "Connecting to Admin Center..." -f Yellow Connect-SPOService -url $AdminSiteURL -Credential (Get-Credential) #Get each site collection and users $Sites = Get-SPOSite -Limit ALL Foreach($Site in $Sites) { $SiteURL=$Site.Url   } #To call a non-generic method Load Function Invoke-LoadMethod() {     param(             [Microsoft.SharePoint.Client.ClientObject]$Object = $(throw "Please provide a Client Object"),             [string]$PropertyName       ...