Taylohtio/_Scripts/change_site_collection_url/restoreUserEmails/enum-users-without-email.ps1

46 lines
867 B
PowerShell

param(
[Parameter(Mandatory=$true)]
[string]$url
)
function Write-Log($msg)
{
Write-Host $msg -foregroundcolor green
($msg) | Out-File "log-enum-users.txt" -Append
}
function ContainsUser($users, $loginName)
{
foreach ($user in $users)
{
if ($user.LoginName.ToLower() -eq $loginName.ToLower())
{
return $true
}
}
return $false
}
$users = New-Object System.Collections.ArrayList
$site = Get-SPSite $url
foreach ($user in $site.RootWeb.AllUsers)
{
if ([System.String]::IsNullOrEmpty($user.Email))
{
$users.Add($user) > $null
}
}
foreach ($user in $site.RootWeb.SiteUsers)
{
$contains = ContainsUser $users $user.LoginName
if ([System.String]::IsNullOrEmpty($user.Email) -and (-not $contains))
{
$users.Add($user) > $null
}
}
foreach ($user in $users)
{
Write-Log($user.LoginName)
}