Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Add - PSSnapin Microsoft.SharePoint.PowerShell
- $host.Runspace.ThreadOptions = "ReuseThread"
- Function Get-SiteGroup-Owners
- {
- param ($sCSOMPath,$sSiteUrl,$sUserName,$sPassword,$FileName)
- try
- {
- $sCSOMRuntimePath=$sCSOMPath + "Microsoft.SharePoint.Client.Runtime.dll"
- $sCSOMPathdll=$sCSOMPath + "Microsoft.SharePoint.Client.dll"
- Add-Type -Path $sCSOMPathdll
- Add-Type -Path $sCSOMRuntimePath
- #SPO Client Object Model Context
- $spoCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteUrl)
- $spoCredentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($sUserName, $sPassword)
- #$spoCredentials = New-Object System.Net.NetworkCredential($sUserName, $sPassword) # for on premise
- $spoCtx.Credentials = $spoCredentials
- $web = $spoCtx.Web
- $spGroups =$web.SiteGroups
- $spoCtx.Load($web)
- $spoCtx.Load($spGroups)
- $spoCtx.ExecuteQuery()
- Write-Host "Groups Count= $($spGroups.Count)"
- foreach($spGroup in $spGroups)
- {
- $site =@()
- $users = $spGroup.Users
- $spoCtx.Load($spGroup)
- $spoCtx.Load($users)
- $spoCtx.ExecuteQuery()
- foreach($spUser in $users)
- {
- try
- {
- $spoCtx.Load($spUser)
- $spoCtx.ExecuteQuery()
- $site += New-Object -TypeName PSObject -Property @{
- SiteUrl =$sSiteUrl
- GroupName = $spGroup.Title
- PrincipalType= $spGroup.Roles
- User =$spUser.LoginName
- UserEmail =$spUser.Email
- } | Select SiteUrl,GroupName,PrincipalType,User,UserEmail
- Write-Host "This is test" $.Roles
- }
- catch [System.Exception]
- {
- Write-Host -ForegroundColor Red $_.Exception.ToString()
- }
- }
- Write-Host $sCSOMPath
- # $site| Export-CSV ($sCSOMPath+""+$FileName+".csv") -NoTypeInformation -Append #-Encoding UTF8
- }
- Read-Host -Prompt "file created Successfull..! in the following path $sCSOMPath, Press any key to close this window"
- }
- catch [System.Exception]
- {
- Write-Host -ForegroundColor Red $_.Exception.ToString()
- Read-Host -Prompt "Operation failed..! Press any key to close this and re run the script"
- }
- }
- $FileName= "SiteCollection_Group_Members"
- $sSiteUrl = "https://mysite.test.com"
- $sUserName = "admin@micrososft.com"
- $sPassword = ConvertTo-SecureString "Password" -AsPlainText -Force
- $scriptpath = $MyInvocation.MyCommand.Path
- $dir = Split-Path $scriptpath
- Write-Host "Getting Site Collection group Members"
- Write-Host "-----------------------------------"
- Get-SiteGroup-Owners -sCSOMPath $dir -sSiteUrl $sSiteUrl -sUserName $sUserName -sPassword $sPassword -FileName $FileName
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement