param( [Parameter(Mandatory=$true)] [string]$url ) function Write-Log($msg) { Write-Host $msg -foregroundcolor green ($msg) | Out-File "log-enum-users-restore.txt" -Append } function Enum-Users-Group($group, $arr) { foreach ($user in $group.Users) { $arr.Add($user.LoginName) > $null } } function Enum-Users-Web($web) { Write-Log ($web.Url) $groupAsukkaat = New-Object System.Collections.ArrayList $groupOsakkaat = New-Object System.Collections.ArrayList $groupHallitus = New-Object System.Collections.ArrayList $groupRekAsukkaat = New-Object System.Collections.ArrayList $groupRekOsakkaat = New-Object System.Collections.ArrayList foreach ($g in $web.Groups) { if ($g.Name.EndsWith("- Asukkaat")) { Enum-Users-Group $g $groupAsukkaat } elseif ($g.Name.EndsWith("- Osakkaat")) { Enum-Users-Group $g $groupOsakkaat } elseif ($g.Name.EndsWith("- Hallitus")) { Enum-Users-Group $g $groupHallitus } elseif ($g.Name.EndsWith("- Rekisteröityneet asukkaat")) { Enum-Users-Group $g $groupRekAsukkaat } elseif ($g.Name.EndsWith("- Rekisteröityneet osakkaat")) { Enum-Users-Group $g $groupRekOsakkaat } } Write-Log ([System.String]::Join(";", $groupAsukkaat.ToArray())) Write-Log ([System.String]::Join(";", $groupOsakkaat.ToArray())) Write-Log ([System.String]::Join(";", $groupHallitus.ToArray())) Write-Log ([System.String]::Join(";", $groupRekAsukkaat.ToArray())) Write-Log ([System.String]::Join(";", $groupRekOsakkaat.ToArray())) } function Enum-Users-Site-Col($site) { #Write-Log $site.Url foreach ($w in $site.RootWeb.Webs) { Enum-Users-Web $w } } $wa = Get-SPWebApplication $url foreach ($site in $wa.Sites) { Enum-Users-Site-Col $site } #$site = Get-SPSite $url #Enum-Users-Site-Col $site #$web = Get-SPWeb $url #Enum-Users-Web $web