После изменения должностных обязанностей одного сотрудника появилась необходимость удалить у него повышенные права (полный доступ).
Руками решать эту задачу было бы очень долго...
прибегнул к 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(); } }