Solved

Move Groups - Powershell

Posted on 2015-02-11
5
64 Views
Last Modified: 2015-03-27
Hi Guys,

We have groups with a -m in the name and a -r in the name. e.g:

DL-FSR-SMD-GNO-HR-M
DL-FSR-SMD-GNO-HR-R

All the R groups with a corresponding M, I want to move these to an OU called deprovsion, so far I have written this script, please help me complete it:

Get-QADGroup -SizeLimit 0 -SearchRoot "OU=Departmental Share Security,OU=Resource Groups,OU=Groups,DC=yu,DC=DS,DC=rt,DC=ac,DC=uk" | ?{$_.Name -match "-M$"} | % {
$S = $_
$D = $S.Name -replace "-M$","-R"
Try{

 if ( Get-QADGroup $D )
      {

       #move to OU OU=Deprovision,OU=Departmental Share Security,OU=Resource Groups,OU=Groups,DC=yu,DC=DS,DC=rt,DC=ac,DC=uk
            
      }


Catch{
   $D

 }

thank you in advance
0
Comment
Question by:Kay
5 Comments
 
LVL 53

Expert Comment

by:Will Szymkowski
Comment Utility
I have found it much easier to move groups using the ADUC GUI, rather then scripting this procedure.

Not helpful in regards to your script but might be more effective.

Will.
0
 

Author Comment

by:Kay
Comment Utility
what is ADUC GUI, where do i find it?
0
 
LVL 41

Expert Comment

by:Amit
Comment Utility
ADUC means Active Directory Users and Computers snap-in. You can login to one of the DC. Goto Start>Run>dsa.msc

This will open ADUC for you. Now right click on the domain name>click find>type group name>click find>right click the group name>select Move>Browse to destination US Path>Click Ok.

Let me know, if you still have any doubt or query.
0
 
LVL 70

Accepted Solution

by:
Chris Dent earned 500 total points
Comment Utility
ADUC GUI is the AD Users and Computers management console. It's  a bit of a pointless comment really.

Move-QADObject is the CmdLet you want if you've managed to identify the groups you're most interested in.

I'd probably do:
Get-QADGroup -Name "*-M" -SizeLimit 0 -SearchRoot "OU=Departmental Share Security,OU=Resource Groups,OU=Groups,DC=yu,DC=DS,DC=rt,DC=ac,DC=uk" -SearchScope OneLevel |
  Where-Object { Get-QADGroup -Name ($_.Name -replace "-M$","-R") } |
  ForEach-Object {
    $_ | Move-QADObject -NewParentContainer "OU=Deprovision,OU=Departmental Share Security,OU=Resource Groups,OU=Groups,DC=yu,DC=DS,DC=rt,DC=ac,DC=uk" -WhatIf
  }

Open in new window

Your original Where-Object filter is wrapped back into Get-QADGroup. The check for a matching -R group is performed in the Where-Object filter, it won't error if it fails to find one.

The search is limited to only the "Departmental Share Security" OU, using OneLevel means it won't find anything in a sub-OU (and therefore try and move things twice).

Finally, all matching groups are moved using Move-QADObject.

WhatIf is included in the Move command to allow you to test it, the code won't do anything other than chat about changes as it stands.

HTH

Chris
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Utilizing an array to gracefully append to a list of EmailAddresses
How to sign a powershell script so you can prevent tampering, and only allow users to run authorised Powershell scripts
This tutorial will walk an individual through the steps necessary to join and promote the first Windows Server 2012 domain controller into an Active Directory environment running on Windows Server 2008. Determine the location of the FSMO roles by lo…
This tutorial will walk an individual through the process of transferring the five major, necessary Active Directory Roles, commonly referred to as the FSMO roles from a Windows Server 2008 domain controller to a Windows Server 2012 domain controlle…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now