Monday, March 26, 2018

Update Group Membership – PowerShell Script

If you have multiple domains or performing a user or group migration, you may need to manually update (depend on your scenario) the source or target group membership.  This script can be used to update group membership based on source user’s group membership.  The input for this script the user name (sAMAccountName) and it assumes that the source and target sAMAccountName are the same. 
Input file (Users.csv) Format:

Script validates users in the source domain and collect “memberof” details and then add the target user (migrated user) to the same group. At the end of the operation, the source user and the target user (migrated user) will be part of same security group in the source domain. 
You can see some other “Update Group Membership” script here -
# Update Group Membership
# Santhosh Sivarajan (Santhosh@Sivarajan.Com)
Import-Module ActiveDirectory
$userN = ""
$GroupDetails = ""
$Group = ""
$GroupsDN = ""
$uValidation = ""
$tagetDomain = ""
$Cdate = (Get-Date).tostring("dd-MM-yyyy-hh-mm-ss")

        $SGBeforeUpdateFile = New-Item -type file -force "C:\Temp\Groups_Before_$Cdate.csv"
        $SGAfterUpdateFile = New-Item -type file -force "C:\Temp\Groups_After_$Cdate.csv"
        Import-CSV "C:\Temp\Users.csv" | % {
        $userN = $_.userName
        $sourceDomain = $_.Domain

                   $uValidation = Get-ADUser -filter {sAMAccountName -eq $userN} -Server $tagetDomain
                       If($uValidation -eq $Null)
                           Write-Host "User $userN Doesn't Exist in $tagetDomain Domain"
                           $errorFile = New-Item -type file -force "C:\Temp\Error_$Cdate.csv"
                           "User $userN Doesn't Exist in $tagetDomain Domain"| Out-File $errorFile -encoding ASCII -append
                           $userN | Out-File $SGBeforeUpdateFile -encoding ASCII -append
                           $GroupDetails = get-aduser -Server $sourceDomain -identity $userN -Properties memberof
                           $GroupsDN = $GroupDetails.memberof
                           $GroupsDN | Out-File $SGBeforeUpdateFile -encoding ASCII -append
                           foreach ($Group in $GroupsDN)
                               $MigrateduserN = Get-ADUser $userN -Server $tagetDomain -Properties DistinguishedName
                               Write-host "Adding User -> $MigrateduserN"
                               Write-host "To Group -> $Group"
                               Add-ADGroupmember -Server $sourceDomain -Identity $Group -Members $MigrateduserN
                               $members = Get-ADGroupmember -Server $sourceDomain -Identity $Group
                               $GroupName = Get-ADGroup -Server $sourceDomain $Group
                               $GroupName.Name | Out-File $SGAfterUpdateFile -encoding ASCII -append
                               $members.distinguishedName | Out-File $SGAfterUpdateFile -encoding ASCII -append
                               Write-host "....Done!" -ForegroundColor Green
                               Write-host ""


You can also download the script from the following locations:

  1. OneDrive
  2. TechNet Gallery 


This comment has been removed by the author.

feel regret I did not know this before I read your article.

Nice post. I learn something totally new and challenging on websites I stumbleupon every day. It's always useful to read through articles from other authors and practice something from other sites.
check this out FMWhatsApp Apk

I am really enjoying your site.It’s simple, yet effective, thank you for this article.Now I have to share some information about How To Fix “mcafee Antivirus” problem. If you have any problem rearding Mcafee so click on this site:mcafee antivirus nummer belgie

I like your blog.You have done Excellent work. I appreciate.Here I want to inform all of you if you are looking for to resolve your Norton Antivirus problems,so you are in right place.we always available for your support.So whenever you need any help so just click on this link- norton Antivirus ondersteuningsnummer

I’m really impressed with your writing skills and also with the layout on your blog it's Very interesting to read.Now Here i would llike to share some information about HP Printer If you are facing any problem relate to your HP Printer's we wil resolve your queries at sam time.For any help please visit on our website:hp printer contact belgie

Excellent post. I certainly appreciate this website.Keep writing.well here if you want to Overcome the issues of Avast antivirus.Pick the Best Assistance over our site to resolve your queries.Visit us :avast antivirus ondersteuning

hi, your post is very helpful for me. Finally, I found exactly what i want. If need information regarding printers then you can visit our site Xerox Printer ondersteuning for help.

hi, Your post is very helpful for me, If you want to know more about antivirus then you can visit our site Canon Printer contacteren for help.

hi, Your post is very helpful for me,finally i got exactly what I want. If you want to know more about antivirus then you can visit our site Bitdefender belgie help.

Commenting as
Comment as:

hi, Your post is very helpful for me, finally i found exactly what i want , If you want to know more about antivirus then you can visit our site Kaspersky antivirus nummer for help.

I thank you for the information trực tiếp bóng đá! I was looking for and could not find. You helped me!

Thanks for sharing it is important for me. I also searched for that from here. Visit our site Contacteren Epson Printer

Post a Comment

Popular Posts


Twitter Delicious Facebook Digg Stumbleupon Favorites More