Script de PowerShell para buscar todos los grupos de Active Directory en SharePoint
Requisito: Obtenga la lista de todos los grupos de seguridad de AD utilizados en los sitios de SharePoint. Necesitamos generar un informe sobre los grupos de AD utilizados en una aplicación web de SharePoint.
Script de PowerShell para buscar grupos de AD en SharePoint:
Aquí está mi script de PowerShell para buscar y exportar grupos de Active Directory en todos los sitios de SharePoint en la aplicación web determinada.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Change to your web application
$WebAppURL = "https://intranet.crescent.com"
#Get Web Application
$WebApp = Get-SPWebApplication $WebAppURL
#variable for data collection
$ADGroupCollection= @()
$ReportPath ="C:\ADGroups.csv"
foreach ($Site in $WebApp.Sites)
{
Write-host -foregroundcolor green "Processing Site Collection: "$site.RootWeb.URL
#Get all AD Security Groups from the site collection
$ADGroups = Get-SPUser -Web $Site.Url -Limit ALL | Where { $_.IsDomainGroup -and $_.displayName -ne "Everyone" }
#Iterate through each AD Group
ForEach($Group in $ADGroups)
{
Write-host "Found AD Group:" $Group.DisplayName
#Get Direct Permissions
$Permissions = $Group.Roles | Where { $_.Name -ne "Limited Access" } | Select -ExpandProperty Name
#Get SharePoint User Groups where the AD group is a member
$SiteGroups = $Group.Groups | Select -ExpandProperty Name
#Send Data to an object array
$ADGroup = new-object psobject
$ADGroup | add-member noteproperty -name "Site Collection" -value $Site.RootWeb.Title
$ADGroup | add-member noteproperty -name "URL" -value $Site.Url
$ADGroup | add-member noteproperty -name "Group Name" -value $Group.DisplayName
$ADGroup | add-member noteproperty -name "Direct Permissions" -value ($Permissions -join ",")
$ADGroup | add-member noteproperty -name "SharePoint Groups" -value ($SiteGroups -join ",")
#Add to Array
$ADGroupCollection+=$ADGroup
}
}
#Export Data to CSV
$ADGroupCollection | export-csv $ReportPath -notypeinformation
Write-host "SharePoint Security Groups data exported to a CSV file at:"$ReportPath -ForegroundColor Cyan
Este script genera un informe de archivo CSV con salida:
- Nombre y URL de la colección de sitios
- Nombre del grupo de Active Directory
- Permisos aplicados al grupo AD ya sea por nivel de permiso directo o mediante grupos de SharePoint.