Я пытаюсь использовать PowerShell для удаления пользователей из группы безопасности, если изменяется их заголовок учетной записи.
- Название группы = Команда разработчиков
- Название пользователя = Разработчик
Я хочу получить всех членов группы безопасности Development Team
и, если они естьэтой группы есть заголовок, отличный от Developer
, удалить пользователя из группы.
Это всего лишь пример, который будет использоваться для ведения групп на основе ролей на основе заголовка.При изменении заголовка пользователя его членство в группе изменится с помощью этого запланированного сценария.
Этот сценарий удаляет всех членов группы, а не только тех, у которых заголовок пользователя не равен Developer
.Как я могу изменить скрипт, чтобы удалить только пользователей с заголовком, не равным Developer
?
Import-Module ActiveDirectory
$groupname = 'Development Team'
$members = Get-ADGroupMember -Identity $groupname
foreach($member in $members)
{
if($member.title -notlike 'Developer')
{
Remove-ADGroupMember -Identity $groupname -Member $member.samaccountname
}
}
Основываясь на информации из LisaJ ниже, это то, чтоновый скрипт выглядит так.Работает!
Import-Module ActiveDirectory
$groupname = 'Development Team'
$members = Get-ADUser -LDAPFilter "(&(!(title=Developer))(memberOf=cn=Development Team,ou=Security Groups,dc=domain,dc=com))"
foreach($member in $members)
{
Remove-ADGroupMember -Identity $groupname -Member $member.samaccountname
}