Taylohtio/_Scripts/change-site-collection-admins/remove-jouko-windows-accoun...

63 lines
1.4 KiB
PowerShell

param(
[Parameter(Mandatory=$true)]
[string]$url
)
function Write-Log($msg)
{
Write-Host $msg -foregroundcolor green
#($msg) | Out-File "remove-windows-users.txt" -Append
}
function Remove-Windows-Users-Site-Col($site)
{
Write-Log ("Site:" + $site.Url)
$web = $site.RootWeb
$usersToDelete = @()
foreach ($su in $web.SiteUsers)
{
if ($su.LoginName.ToLower() -eq "i:0#.w|howzee\jouko")
{
Write-Log (" SiteUser:" + $su.LoginName)
$usersToDelete += $su
}
}
foreach ($au in $web.AllUsers)
{
if ($au.LoginName.ToLower() -eq "i:0#.w|howzee\jouko")
{
$exists = $false
foreach ($u in $usersToDelete)
{
if ($u.LoginName.ToLower() -eq $au.LoginName.ToLower())
{
$exists = $true
break
}
}
if (-not $exists)
{
Write-Log (" AllUser:" + $au.LoginName)
$usersToDelete += $au
}
}
}
Write-Log (" UsersToDelete:")
foreach ($u in $usersToDelete)
{
Write-Log (" " + $u.LoginName)
Remove-SPUser -Id $u.LoginName -Web $web.Url -Confirm:$false
}
}
$wa = Get-SPWebApplication $url
foreach ($site in $wa.Sites)
{
Remove-Windows-Users-Site-Col $site
}
#$site = Get-SPSite $url
#Remove-Windows-Users-Site-Col $site