Add ActiveDirectory/CopyADgroups.ps1
This commit is contained in:
29
ActiveDirectory/CopyADgroups.ps1
Normal file
29
ActiveDirectory/CopyADgroups.ps1
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# Script to copy members (users and groups) from one AD group to another.
|
||||||
|
# Editable variables
|
||||||
|
$SourceGroup = "SourceGroupName" # Enter your source group here
|
||||||
|
$TargetGroup = "TargetGroupName" # Enter your target group here
|
||||||
|
|
||||||
|
# Get group members from the source group
|
||||||
|
$members = Get-ADGroupMember -Identity $SourceGroup
|
||||||
|
|
||||||
|
if ($members.Count -eq 0) {
|
||||||
|
Write-Host "No members found in $SourceGroup."
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
# Loop through all members and add them to the target group
|
||||||
|
foreach ($member in $members) {
|
||||||
|
# Check if the member is already in the target group
|
||||||
|
$isMember = Get-ADGroupMember -Identity $TargetGroup | Where-Object { $_.DistinguishedName -eq $member.DistinguishedName }
|
||||||
|
if (-not $isMember) {
|
||||||
|
try {
|
||||||
|
Add-ADGroupMember -Identity $TargetGroup -Members $member.DistinguishedName
|
||||||
|
Write-Host "Added: $($member.Name) ($($member.ObjectClass))"
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host "ERROR adding $($member.Name): $_"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Write-Host "Already existed: $($member.Name) ($($member.ObjectClass))"
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user