Obtenga todos los usuarios de SharePoint Farm-Web Application-Site Collection-Site mediante PowerShell
Requisito: Obtener todos los usuarios de SharePoint Farm.
SharePoint PowerShell para incluir a todos los usuarios en la granja
¿Quiere obtener una lista de todos los usuarios de su granja de SharePoint? ¡PowerShell puede ayudarte con esto! Esta publicación de blog le mostrará cómo usar PowerShell para encontrar rápidamente a todos los usuarios en su granja de SharePoint.
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
Este script se puede utilizar para incluir a todos los usuarios en la colección de sitios y exportarlos a Excel.
Obtenga todos los usuarios únicos en SharePoint Farm usando PowerShell:
Script de PowerShell de una sola línea para obtener usuarios únicos de la granja de SharePoint:
Get-SPSite -Limit All | Select -ExpandProperty AllWebs | select -ExpandProperty AllUsers | ? {$_.IsDomainGroup -ne $true} | select -Unique LoginName
