После изменения должностных обязанностей одного сотрудника появилась необходимость удалить у него повышенные права (полный доступ).
Руками решать эту задачу было бы очень долго...
прибегнул к PowerSell
данный скрип пробегает по всем сайтам в веб-приложении и удаляет от туда пользователя. После этого у пользователя остались права выданные через группы AD и через группу "ВСЕ"
Руками решать эту задачу было бы очень долго...
прибегнул к PowerSell
данный скрип пробегает по всем сайтам в веб-приложении и удаляет от туда пользователя. После этого у пользователя остались права выданные через группы AD и через группу "ВСЕ"
cls
$login = 'i:0#.w|doman\user'
$app = Get-SPWebApplication http://url-app
foreach ($sites in $app.Sites)
{
$collSite = $sites.AllWebs
foreach ($web in $sites.AllWebs)
{
# удаляем из всех групп
foreach($group in $web.Groups)
{
foreach($user in $group.Users )
{
if($user.UserLogin -eq $login)
{
$web.Url
$userRemove = $web.AllUsers.Item($login)
$group.RemoveUser( $userRemove)
Write-Host "Сайт -" $web.Title " / удален из группы -" $group.Name -foregroundcolor Yellow
}
}
}
# удаляем из администраторов сайта
$admins = $web.SiteAdministrators
for ($i = 0 ; $i -le $admins.Count; $i++)
{
if( $admins[$i].UserLogin -eq $login)
{
$web.Url
$userRemove = $web.AllUsers.Item($login)
$admins.RemoveByID( $userRemove.ID)
Write-Host "Сайт -" $web.Title " / удален из администраторов сайта" -foregroundcolor blue
}
}
$web.Dispose();
}
}