From ee746e3af2b27d76e1a91671e3741c9789031cff Mon Sep 17 00:00:00 2001 From: Martien Date: Fri, 13 Jun 2025 14:17:41 +0200 Subject: [PATCH] Add ActiveDirectory/CopyADgroups.ps1 --- ActiveDirectory/CopyADgroups.ps1 | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 ActiveDirectory/CopyADgroups.ps1 diff --git a/ActiveDirectory/CopyADgroups.ps1 b/ActiveDirectory/CopyADgroups.ps1 new file mode 100644 index 0000000..512bccd --- /dev/null +++ b/ActiveDirectory/CopyADgroups.ps1 @@ -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))" + } +}