Taylohtio/_Scripts/restore-windows-users/enum-users-from-groups-web-...

77 lines
2.0 KiB
PowerShell

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