49 lines
850 B
PowerShell
49 lines
850 B
PowerShell
param(
|
|
[Parameter(Mandatory=$true)]
|
|
[string]$url
|
|
)
|
|
|
|
function Write-Log($msg)
|
|
{
|
|
Write-Host $msg -foregroundcolor green
|
|
($msg) | Out-File "log-remove-users.txt" -Append
|
|
}
|
|
|
|
function Remove-Users-Group($group)
|
|
{
|
|
Write-Log ("`t`t" + $group.Name)
|
|
foreach ($user in $group.Users)
|
|
{
|
|
Write-Log ("`t`t`t" + $user.LoginName)
|
|
$group.RemoveUser($user)
|
|
}
|
|
}
|
|
|
|
function Remove-Users-Web($web)
|
|
{
|
|
Write-Log ("`t" + $web.Url)
|
|
|
|
foreach ($g in $web.Groups)
|
|
{
|
|
Remove-Users-Group $g
|
|
}
|
|
|
|
foreach ($w in $web.Webs)
|
|
{
|
|
Remove-Users-Web $w
|
|
}
|
|
}
|
|
|
|
function Remove-Users-Site-Col($site)
|
|
{
|
|
Write-Log $site.Url
|
|
foreach ($w in $site.RootWeb.Webs)
|
|
{
|
|
Remove-Users-Web $w
|
|
}
|
|
}
|
|
|
|
#$site = Get-SPSite $url
|
|
#Remove-Users-Site-Col $site
|
|
$web = Get-SPWeb $url
|
|
Remove-Users-Web $web |