0

I have a requirement where I need to fetch a report to pull all the active users in the SharePoint farm. We are using windows authentication in the farm.

Is there any way through which I can get the count of active users;

Below is query that I'm currently using in DB :

Select distinct tp_Title, d. dirname
from WSS_Content.dbo.UserInfo U inner join WSS_Content.dbo.AllDocs D 
             on U.tp_SiteID = D.SiteID 
              where tp_ExternalTokenLastUpdated > DATEADD(d,-1,SYSDATETIME()) 

But i do not want to query the DB instead want to find a way in Sharepoint to achieve this.

Any approach to achieve this will be appreciated.

Muskan
  • 886
  • 9
  • 30

2 Answers2

1

I think if you have configured audit settings for a site collection, you can easily get the active users.


Another custom solution

Mohamed El-Qassas MVP
  • 45,382
  • 9
  • 53
  • 96
-1

Correction:

param($url = $(Read-Host -prompt "Root Site Collection Path"))

#Get the PowerShell Snapin
Add-PSSnapin "Microsoft.SharePoint.PowerShell"

#Get Root Site
$root = Get-SPSite $url

#If site was found / valid
if($root -ne $null)
{

     foreach($subSite in $root.AllWebs)
      {
       $subSiteTitle = $subSite.Title
        Write-Host $subSiteTitle -ForegroundColor Magenta
        $subSiteURL = $subSite.Url
        Write-Host $subSiteURL -ForegroundColor Cyan

        #get each user
         Write-Host " ------------------------------------- " 
        $siteUsers=$subSite.SiteUsers
        #iterate
        foreach($user in $siteUsers){
            $userLoginName=$user.LoginName 
            Write-Host   $userLoginName -ForegroundColor Yellow

        }


        Write-Host " ------------------------------------- " 
       $subSite.Dispose()
      }

        $root.Dispose()

}
Napstar
  • 111
  • 4
  • This is for a particular site, i want to get the list of users across farm – Muskan Sep 11 '18 at 11:01
  • I've corrected the error,I assumed, if you could get it for one site, you should be able to just iterate and get it for all, apologies. – Napstar Sep 11 '18 at 19:38
  • There are more than 400 application running under the a single farm, Iterating the user per site is not feasible. i want to know a method where I can find the list of all users in a farm who are active i.e have logged in system for ex say last 30 days – Muskan Sep 12 '18 at 09:52
  • The only other option I can think of for the scenario you mentioned, is to query the User Profile Service. – Napstar Sep 13 '18 at 14:05
  • But then there is not flag in user profile through which I can identify the active users. – Muskan Sep 17 '18 at 09:55