# Copy AD group members from one to another

**URL:** https://forums.powershell.org/t/copy-ad-group-members-from-one-to-another/13079
**Category:** PowerShell Help
**Created:** [September 3, 2019, 7:06am UTC](https://forums.powershell.org/t/copy-ad-group-members-from-one-to-another/13079 "2019-09-03T07:06:12Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![kunaguero](https://avatars.discourse-cdn.com/v4/letter/k/f9ae1b/32.png) [@kunaguero](https://forums.powershell.org/u/kunaguero)
#### Post date: [September 3, 2019, 7:06am UTC](https://forums.powershell.org/t/copy-ad-group-members-from-one-to-another/13079/1 "2019-09-03T07:06:12Z")

</div>

Hello,

I have a command to copy AD group members from one to another  
but i want to do that with the help of Excel file for multiple groups.  
i want PowerShell to get the content of column A (old group name) and copy all the members to the new group (column B).  
internet search didn’t help for me.

Thanks.

---

<div class="post-metadata">

### Author: ![Olaf](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.powershell.org/olaf/32/992_2.png) [@Olaf](https://forums.powershell.org/u/Olaf)
#### Post date: [September 3, 2019, 9:09am UTC](https://forums.powershell.org/t/copy-ad-group-members-from-one-to-another/13079/2 "2019-09-03T09:09:12Z")

</div>

We’re used to be better when we get something to tweak. What do you have so far? Please show your code. [Powershell.org](http://Powershell.org) is not a free code writing service – you know that, right? We expect you to do your own research before and at least try to solve your problem by yourself.

---

<div class="post-metadata">

### Author: ![jasonrobertson](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.powershell.org/jasonrobertson/32/164_2.png) [@jasonrobertson](https://forums.powershell.org/u/jasonrobertson)
#### Post date: [September 3, 2019, 10:01am UTC](https://forums.powershell.org/t/copy-ad-group-members-from-one-to-another/13079/3 "2019-09-03T10:01:06Z")

</div>

Atx750K,

Olaf is right without having any code to work with we can’t really assist much further. Below is an example of how I would go about it. Note the **Headers** in the csv file would be **OldGroup** and **NewGroup**.

```
ForEach ($Group in (Import-Csv C:\Temp\GroupAssignment.csv)){
   $OldGroupMembership = Get-ADGroupMembership -Identity $Group.OldGroup
   If ($null -ne $OldGroupmembership){
      Add-ADGroupMembership -Identity $Group.NewGroup -Members $OldeGroupMembership
   }
}
```

---

<div class="post-metadata">

### Author: ![kunaguero](https://avatars.discourse-cdn.com/v4/letter/k/f9ae1b/32.png) [@kunaguero](https://forums.powershell.org/u/kunaguero)
#### Post date: [September 3, 2019, 11:20pm UTC](https://forums.powershell.org/t/copy-ad-group-members-from-one-to-another/13079/4 "2019-09-03T23:20:21Z")

</div>

Hello,

Thanks for your replay

i have this so far:

``

```
Add-ADGroupMember-Identity'New Group'-Members(Get-ADGroupMember-Identity'Old Group'-Recursive)
```

``

&nbsp;

---

<div class="post-metadata">

### Author: ![kunaguero](https://avatars.discourse-cdn.com/v4/letter/k/f9ae1b/32.png) [@kunaguero](https://forums.powershell.org/u/kunaguero)
#### Post date: [September 3, 2019, 11:26pm UTC](https://forums.powershell.org/t/copy-ad-group-members-from-one-to-another/13079/5 "2019-09-03T23:26:11Z")

</div>

[quote quote=174316][/quote]

Should i set a value for **$Group**?

---

<div class="post-metadata">

### Author: ![jasonrobertson](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.powershell.org/jasonrobertson/32/164_2.png) [@jasonrobertson](https://forums.powershell.org/u/jasonrobertson)
#### Post date: [September 4, 2019, 10:22am UTC](https://forums.powershell.org/t/copy-ad-group-members-from-one-to-another/13079/6 "2019-09-04T10:22:47Z")

</div>

Atx750K,

When you use the foreach loop you have to assign a variable to the item that is being iterated through, it can be called anything you want. Here is another example.

```
$Pizza = Get-Content C:\temp\Pepperoni.txt

Foreach ($Slice in $Pizza){
   Write-Output "I ate $slice"}
```

&nbsp;

&nbsp;

---

<div class="post-metadata">

### Author: ![john-curtiss](https://avatars.discourse-cdn.com/v4/letter/j/f1d935/32.png) [@john-curtiss](https://forums.powershell.org/u/john-curtiss)
#### Post date: [September 4, 2019, 11:06am UTC](https://forums.powershell.org/t/copy-ad-group-members-from-one-to-another/13079/7 "2019-09-04T11:06:55Z")

</div>

@jason.robertson as much as I prefer the spelling “olde”, you do only use it one out of three times in your script. 🙂

Add-ADGroupMembership -Identity $Group.NewGroup -Members $Old_ **e** _GroupMembership

---

<div class="post-metadata">

### Author: ![jasonrobertson](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.powershell.org/jasonrobertson/32/164_2.png) [@jasonrobertson](https://forums.powershell.org/u/jasonrobertson)
#### Post date: [September 4, 2019, 11:16am UTC](https://forums.powershell.org/t/copy-ad-group-members-from-one-to-another/13079/8 "2019-09-04T11:16:06Z")

</div>

John,

Hahaha yeah, thankfully tab complete is our friend. 🙂 We can chalk it up to using mid 19th century English instead of modern English. 😉

&nbsp;

---

<div class="post-metadata">

### Author: ![dotnVo](https://avatars.discourse-cdn.com/v4/letter/d/4af34b/32.png) [@dotnVo](https://forums.powershell.org/u/dotnVo)
#### Post date: [May 16, 2024, 8:32pm UTC](https://forums.powershell.org/t/copy-ad-group-members-from-one-to-another/13079/9 "2024-05-16T20:32:04Z")

</div>


