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