|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] удаление пользователя со всех групп за исключением Domain Users |
|
PowerShell - [решено] удаление пользователя со всех групп за исключением Domain Users
|
Пользователь Сообщения: 54 |
Доброго дня!
Задача: Организовать процедуру удаления пользователя со всех групп за исключением Domain Users при увольнении. Нашёл скрипт: # Путь к файлу логов, не забудем создать его вручную. Не имеет смысла создавать его скриптом $logfile = "C:\logs\user-groups-log.txt" # Отключаем запрос на подтверждение при удалении из групп, и вывод ошибок. $ConfirmPreference = "None" $ErrorActionPreference = "SilentlyContinue" # Запишем в лог время начала работы скрипта для удобства поиска по дате Write-Output "Дата удаления: $(Get-Date -Format F)" >> $logfile Write-Output "" >> $logfile # Подключаем модуль ActiveDirectory Import-Module ActiveDirectory # Находим всех отключенных пользователей $users = Get-ADUser -Filter 'Enabled -eq $false' # И для каждого из них выполняем цыкл foreach ($user in $users) { # Если пользователь состоит более чем в одной группе (чтобы не выполнять с теми, кого обработал скрипт ранее) if ((Get-ADPrincipalGroupMembership -Identity $user).Count -gt 1) { # Записываем имя и логин пользователя, а также список его групп в лог файл Write-Output ($user.Name +" - "+ $user.samAccountName) >> $logfile Get-ADPrincipalGroupMembership -Identity $user | Format-Table Name,distinguishedName >> $logfile # И удаляем его из этих групп исключая Domain Users Remove-ADPrincipalGroupMembership -Identity $user -MemberOf $(Get-ADPrincipalGroupMembership -Identity $user | Where-Object {$_.DistinguishedName -ne 'CN=Domain Users,CN=Users,DC=domain,DC=test'}) } } # Для пользователей, которые находятся только в одной группе (скорее всего это Domain Users) мы не делаем ничего. Так же прошу обратить внимание, если у вас в домене практикуется смена групп по умолчанию, то в скрипт стоит добавить строчку, которая изменить значение атрибута primaryGroupID для каждого выбранного пользователя на 513 (Domain Users). Что собственно повлияет на время выполнения скрипта. Отсутствует закрывающая ")" в выражении. C:\Users\**\Desktop\Disable_Group.ps1:29 знак:1 + <<<< Remove-ADPrincipalGroupMembership -Identity $user -MemberOf $(Get-ADPri ncipalGroupMembership -Identity $user | Where-Object {$_.DistinguishedName -ne 'CN=Domain Users,CN=Users,DC=domain,DC=test'}) + CategoryInfo : ParserError: (CloseParenToken:TokenId) [], Parse Exception + FullyQualifiedErrorId : MissingEndParenthesisInExpression Сам в языке смысле мало. Связаться с автором не могу. Помогите, пожалуйста, как его поправить. |
|
Отправлено: 11:15, 13-10-2014 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:29, 13-10-2014 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать Kazun,
Большущее Вам спасибо! Очень помогли! |
Отправлено: 16:43, 13-10-2014 | #12 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление всех разделов в ветке реестра "Interfaces" за исключением одной. | intelem | Скриптовые языки администрирования Windows | 5 | 18-01-2013 20:29 | |
2008 R2 - Удаление Domain Policy | pokul | Windows Server 2008/2008 R2 | 0 | 20-03-2012 14:30 | |
PowerShell - [решено] Удаление пользователя из групп | forsem | Скриптовые языки администрирования Windows | 3 | 29-11-2011 21:43 | |
2008 R2 - [решено] Domain users и административные шары: откуда взялся доступ??? | VladDV | Windows Server 2008/2008 R2 | 12 | 22-05-2010 14:59 | |
EFS + Domain Users | EndErr | Microsoft Windows NT/2000/2003 | 5 | 17-01-2008 14:34 |
|