Скопировать группы Active Directory другому пользователю через PowerShell

При заведении нового пользователя в домене AD иногда нужно включить его в большое количество групп. Добавлять пользователя в группы через консоль ADUC довольно утомительно, поэтому иногда проще скопировать членство в группах одного пользователя и применить его к другому с помощью скрипта PowerShell. Это также удобно, когда из определенного отдела увольняется сотрудник и нужно назначить новому человеку те же самые группы доступа.

Допустим, вам нужно скопировать группы пользователя r.radojic и добавить в эти же группы нового пользователя a.novak.

Скопировать группы Active Directory другому пользователю через PowerShellСкопировать группы Active Directory другому пользователю через PowerShell

Для работы следующих команд используется модуль Active Directory для PowerShell , который можно установить в составе пакета администратпрования RSAT или скопировать и импортировать модуль вручную без установки RSAT .

С помощью командлета Get-ADUser получим список групп пользователя-источника:

$getusergroups = Get-ADUser -Identity r.radojic -Properties memberof | Select-Object -ExpandProperty memberof

Скопировать группы Active Directory другому пользователю через PowerShellСкопировать группы Active Directory другому пользователю через PowerShell

Чтобы добавить нового пользователя в те же группы, достаточно отправить полученный список групп через пайп командлету Add-ADGroupMember :

$getusergroups | Add-ADGroupMember -Members a.novak -verbose

Для добавления пользователя в доменную группу нужно запускать команды из-под учетной записи с правами администратора домена, или пользователем, которому делегированы права на добавление в группы .

Скопировать группы Active Directory другому пользователю через PowerShellСкопировать группы Active Directory другому пользователю через PowerShell

Теперь проверьте, что новый пользователь был успешно добавлен в те же группы, что и исходный.

Get-ADUser -Identity a.novak -Properties memberof | Select-Object -ExpandProperty memberof

Можно использовать универсальный командлет Get-ADPrincipalGroupMembership , который позволит скопировать членство в группах любого объекта AD: будь то пользователь, или компьютер.

$userSource= “r.radojic"
$userTarget=”a.novak”
$sourceGroups = Get-ADPrincipalGroupMembership -Identity $userSource
Add-ADPrincipalGroupMembership -Identity $userTarget -MemberOf $sourceGroups

Можно использовать PowerShell скрипт, который автоматически пишет текстовый лог файл с информацией о добавлении пользователя в группы:

$logfile="c:psCopyAdGroup.log"
$userSource= “r.radojic"
$userTarget=”a.novak”
$Time = Get-Date
Add-content $logfile -value $Time -Encoding UTF8
Add-content $logfile -value "_______________"
Add-content $logfile -value "Копирование групп AD с пользователя $userSource на $userTarget" -Encoding UTF8
$sourceGroups = (Get-ADPrincipalGroupMembership -Identity $userSource).SamAccountName
foreach ($group in $sourceGroups)
{
Add-content $logfile -value "Добавление пользователя $userTarget в группу $group" -Encoding UTF8
try
{
$log=Add-ADPrincipalGroupMembership -Identity $userTarget -MemberOf $group
Add-content $logfile -value $log -Encoding UTF8
}
catch
{
Add-content $logfile $($Error[0].Exception.Message) -Encoding UTF8
Continue
}
}
Add-content $logfile -value "_______________"

Также вы можете отслеживать добавление пользователей в группы AD в журналах контроллеров домена.

Еще одна достаточно частая задача – скопировать всех пользователей из одной доменной группы в другую. Можно использовать такую команду:

Get-ADGroupMember "SPB-GPO-Admins" | ForEach-Object { Add-ADGroupMember "SPB-Server-Admins" -Members $_ }

Иногда можно использовать другие техники для автоматического добавления пользователя в группы AD в зависимости от его должности или других свойств, указанных в AD. В статье по ссылке рассмотрен пример создания динамических групп Active Directory .

admin

Share
Published by
admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

5 дней ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

5 дней ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

5 дней ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

5 дней ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

5 дней ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

5 дней ago