Taylohtio/_Scripts/restore-windows-users/remove-windows-users-web-ap...

64 lines
1.3 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().StartsWith("i:0#.w|howzee\"))
{
Write-Log (" SiteUser:" + $su.LoginName)
$usersToDelete += $su
}
}
foreach ($au in $web.AllUsers)
{
if ($au.LoginName.ToLower().StartsWith("i:0#.w|howzee\"))
{
$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
#$web = Get-SPWeb $url
#Enum-Users-Web $web