SharePoint Online: Informe de usuarios y grupos del sitio mediante PowerShell
Requisito: Generar un informe con todos los grupos y miembros de cada grupo en una colección de sitios de SharePoint Online.
Requisitos previos: ¡Asegúrese de tener instalado el Shell de administración de SharePoint Online!
Obtenga todos los grupos de sitios y miembros de cada grupo:
Administrar usuarios y grupos es un aspecto importante de la administración de SharePoint Online. Puede haber casos en los que necesite exportar una lista de todos los usuarios y grupos de SharePoint Online para realizar una copia de seguridad, una migración o con fines de auditoría. Con PowerShell, este proceso se puede automatizar de una manera eficiente y poderosa. En este artículo, analizaremos cómo exportar usuarios y grupos desde SharePoint Online usando PowerShell.
¿Cómo se obtienen usuarios y grupos en SharePoint Online? Bueno, la respuesta no es tan fácil como parece. Los administradores pueden ver usuarios y grupos en SharePoint Online siguiendo estos pasos y exportar rápidamente una lista de usuarios y grupos a Excel para un análisis más detallado.
- Vaya a su sitio de SharePoint Online >> Haga clic en el engranaje de Configuración >> Permisos del sitio >> Configuración de permisos avanzados.
-
En la página de permisos, haga clic en cada grupo para obtener sus miembros.
¡Pero espera! Existe una mejor manera de ver usuarios y grupos en SharePoint Online usando PowerShell.
Usar PowerShell para exportar usuarios y grupos de SharePoint Online a Excel es una forma rápida y sencilla de obtener datos de usuarios y grupos de forma regular. Lo primero que debe hacer es conectarse a su inquilino de SharePoint Online mediante PowerShell. Una vez que esté conectado, puede utilizar el cmdlet Get-SPOSiteGroup para obtener información sobre sus usuarios y grupos. Para exportar esta información a Excel, puede utilizar el cmdlet Export-CSV. Esto creará un archivo CSV que luego podrá abrir en Excel. También puede utilizar el cmdlet Out-File para enviar los datos a un archivo de texto.
#Import SharePoint Online Management Shell
Import-Module Microsoft.Online.Sharepoint.PowerShell -DisableNameChecking
#Variables for processing
$AdminURL = "https://crescent-admin.sharepoint.com/"
$AdminName = "spadmin@crescent.com"
$SiteURL="https://crescent.sharepoint.com/sites/sales"
#User Names Password to connect
$Password = Read-host -assecurestring "Enter Password for $AdminName"
$Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminName, $Password
#Connect to SharePoint Online
Connect-SPOService -url $AdminURL -credential $Credentialexp
#get all sharepoint online groups
$SiteGroups = Get-SPOSiteGroup -Site $SiteURL
#Get Members of each group
foreach($Group in $SiteGroups)
{
Write-host "Group:"$Group.Title
Get-SPOSiteGroup -Site $SiteURL -Group $Group.Title | Select-Object -ExpandProperty Users
}
Para obtener todos los usuarios de la colección de sitios, utilice el siguiente script:
Get-SPOUser -Site $siteURL | select DisplayName, LoginName | Where { $_.LoginName -like "*@crescent.com"}
¿Cómo exportar la lista de usuarios de SharePoint Online?
Podemos exportar todos los usuarios de un sitio de SharePoint Online y sus grupos a CSV usando PowerShell como:
#Get All users of the site collections and their Groups
Get-SPOUser -Site "https://Crescent.sharepoint.com/sites/marketing" | ForEach-Object {
$_.LoginName + "`t" + $_.DisplayName+ "`t" + ($_.Groups -join ",") | Out-File "C:\Temp\UsersRpt.csv" -Force -Append
}
Obtenga usuarios y grupos para todas las colecciones de sitios de SharePoint Online:
¿Le gustaría obtener usuarios y grupos de SharePoint Online? ¡PowerShell puede ayudar!
#Import SharePoint Online Management Shell
Import-Module Microsoft.Online.Sharepoint.PowerShell -DisableNameChecking
#Variables for processing
$AdminURL = "https://Crescent-admin.sharepoint.com/"
$AdminName = "SPAdmin@Crescent.com"
#User Name & Password to connect
$Password = Read-host -assecurestring "Enter Password for $AdminName"
$Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminName, $Password
Try {
#Connect to SharePoint Online
Connect-SPOService -url $AdminURL -credential $Credential
#Get all Site collections
Get-SPOSite -Limit ALL | ForEach-Object {
Write-Host "Site Collection:"$_.URL
#Get all Site Groups
$SiteGroups = Get-SPOSiteGroup -Site $_.URL
#get sharepoint online group members powershell
foreach($Group in $SiteGroups)
{
Write-host "Group:"$Group.Title
Get-SPOSiteGroup -Site $_.URL -Group $Group.Title | Select-Object -ExpandProperty Users
}
}
}
catch {
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
Informe de permisos y grupos de SharePoint Online
Obtengamos todos los grupos, permisos y miembros de cada grupo que tienen acceso al sitio.
#Import SharePoint Online Management Shell
Import-Module Microsoft.Online.Sharepoint.PowerShell -DisableNameChecking
#Variables for SharePoint Online Admin & Target site collection
$AdminSiteURL="https://crescent-admin.sharepoint.com"
$SiteCollURL="https://crescent.sharepoint.com/sites/sales"
#Get the Credentials
$Credential = Get-credential
#Connect To SharePoint Online
Connect-SPOService -url $AdminSiteURL -Credential $Credential
#Get the Site collection
$Site = Get-SPOSite $SiteCollURL
#Get all Groups of the site collection
$GroupColl = Get-SPOSiteGroup -Site $Site | Where { $_.Roles -ne $NULL -and $_.Users -ne $NULL}
Foreach($Group in $GroupColl)
{
#Get Permissions assigned to the Group
$GroupPermissions=""
ForEach($Role in $Group.Roles)
{
$GroupPermissions+= $Role+";"
}
Write-host -f Yellow "Group Name: $($Group.Title) - Permissions: $($GroupPermissions)"
#sharepoint online powershell to get group members
foreach($User in $Group.Users)
{
write-host -f Green $user
}
}
A continuación, exportemos usuarios y grupos de SharePoint Online para sobresalir usando PowerShell.
Exporte usuarios y grupos de todas las colecciones de sitios de SharePoint Online a CSV:
Si necesita exportar usuarios y grupos de SharePoint Online a Excel, los cmdlets de PowerShell pueden resultar útiles. Aquí está el PowerShell para exportar todos los grupos y usuarios a un archivo CSV:
#Admin Center & Site collection URL
$AdminCenterURL = "https://Crescent-admin.sharepoint.com/"
$CSVPath = "C:\Temp\GroupsReport.csv"
#Connect to SharePoint Online
Connect-SPOService -url $AdminCenterURL -Credential (Get-Credential)
$GroupsData = @()
#Get all Site collections
Get-SPOSite -Limit ALL | ForEach-Object {
Write-Host -f Yellow "Processing Site Collection:"$_.URL
#get sharepoint online groups powershell
$SiteGroups = Get-SPOSiteGroup -Site $_.URL
Write-host "Total Number of Groups Found:"$SiteGroups.Count
ForEach($Group in $SiteGroups)
{
$GroupsData += New-Object PSObject -Property @{
'Site URL' = $_.URL
'Group Name' = $Group.Title
'Permissions' = $Group.Roles -join ","
'Users' = $Group.Users -join ","
}
}
}
#Export the data to CSV
$GroupsData | Export-Csv $CSVPath -NoTypeInformation
Write-host -f Green "Groups Report Generated Successfully!"
Y un informe de muestra:
Si necesita obtener informes de usuarios y grupos de SharePoint Online mediante métodos CSOM o PnP PowerShell, utilice: Obtener todos los usuarios y grupos en el sitio de SharePoint Online mediante PowerShell
Terminando
En este artículo, analizamos cómo exportar usuarios y grupos desde SharePoint Online usando PowerShell. Siguiendo los pasos descritos en esta guía, puede exportar rápida y fácilmente una lista de todos los usuarios y grupos de SharePoint Online a un archivo CSV. Con PowerShell, puede automatizar este proceso y facilitar la administración y el mantenimiento de su entorno de SharePoint Online.


