Get All Users of SharePoint Farm-Web Application-Site Collection-Site using PowerShell
Requirement: Get all users of SharePoint environment.
PowerShell script to get all SharePoint users at Farm-Web Application-Site Collection-Web levels:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue#Output Report File$currentLocation = (Get-Location).Path$outputReport = $currentLocation + "\" + "SharePointUsers.csv" #Write CSV File Header#Array to hold user data$UserDataCollection = @() #Get All Web Applications and iterate through$WebAppsColl = Get-SPWebApplication#To Get all Users from specific web application, Use: $WeAppsColl = Get-SPWebApplication "web-app-url"#and remove line #12 foreach($WebApp in $WebAppsColl){ Write-host "Scanning Web Application:"$WebApp.Name #Get All site collections and iterate through $SitesColl = $WebApp.Sites #To Get all Users from site collection, Use: $SitesColl = Get-SPSite "site-collection-url" #and remove lines between #11 to #20 and Line #55 "}" #get all users from site collection PowerShell foreach ($Site in $SitesColl) { Write-host "Scanning Site Collection:"$Site.URL #Get All Webs and iterate through $WebsColl = $Site.AllWebs #To Get all Users from aq site, Use: $WebsColl = Get-SPWeb "web-url" #and remove lines between #11 to #28 and Lines #53, #54, #55 "}" foreach ($web in $WebsColl) { Write-host "Scanning Web:"$Web.URL #Get All Users of the Web $UsersColl = $web.AllUsers #get all users programmatically #list all users foreach ($user in $UsersColl) { if($User.IsDomainGroup -eq $false) { $UserData = New-Object PSObject $UserData | Add-Member -type NoteProperty -name "UserLogin" -value $user.UserLogin.ToString() $UserData | Add-Member -type NoteProperty -name "DisplayName" -value $user.displayName.ToString() $UserData | Add-Member -type NoteProperty -name "E-mailID" -value $user.Email.ToString() $UserDataCollection += $UserData } } $Web.dispose() } $site.dispose() } } #Remove duplicates $UserDataCollection = $UserDataCollection | sort-object -Property {$_.UserLogin } -Unique #Remove duplicates and export all users to excel $UserDataCollection | Export-Csv -LiteralPath $OutputReport -NoTypeInformation Write-host "Total Number of Unique Users found:"$UserDataCollection.Length |
This script can be used to get all users in site collection and export all users to excel.
Get All Unique Users in SharePoint Farm using PowerShell: One liner PowerShell script to get unique users of the SharePoint Farm:
|
1
|
|

浙公网安备 33010602011771号