Сегодня я расскажу,
как я решил задачу по удалению пользователей и конкретной группы SharePoint. Дело в том, что в
данный момент администрирую коробочное решение документооборота. В коробочном
решении, лицензии, отслеживаются по
количеству пользователей в определённой группе. Когда пользователей далеко за
300, то искать и удалять пользователей из группы стандартными средствами весьма
долго. Решил написать скрипт.
Он проверяет
группу на разных сайтах (семействах) и если пользователь имеется в группе, то спрашивает,
удалять пользователя или нет.
#Перечень сайтов, в которых нужно произвести действия, адреса через запятую $arraySite = "http://server/site" #Перечень пользователей, которых нужно удалить через запятую $arraryUser = "domain\S.Abramov", "domain\V.Kozin" foreach ($site in $arraySite) { $site = Get-SPWeb $site $namegroup = "Участники SharePoint" #Название проверяемой группы write-host ""$site":" if ($site.SiteGroups["$namegroup"] -ne $null) { write-host проверяемая группа - ""$namegroup" ." -foregroundcolor Green foreach ($username in $arraryUser) { $group = $site.SiteGroups["$namegroup"] if ($group.Users["$username"] -ne $null) { write-host "пользователь "$username" есть." -foregroundcolor red $delet = Read-Host "Удалить пользователя да [д] или нет [н]" if ($delet -eq "д") { $User = $group.Users["$username"] $group.RemoveUser($User) write-host "пользователь "$username" удален" -foregroundcolor Yellow } else { write-host "пользователь "$username" не удален" -foregroundcolor Blue } } else { write-host "пользователя "$username" нет в группе." -foregroundcolor Yellow } } } else { write-host ""$namegroup" - группы нет." -foregroundcolor red } $site.Dispose() }
Да не самое
удобное средство, но все же. Неудобство в том , что нужно знать учетные записи
пользователя.
Надеюсь, что
данная статья будет Вам полезна.
Комментариев нет:
Отправить комментарий