Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 4845
  • Last Modified:

Bulk rename 450 AD Groups with Powershell

Hi,

normally I try to script for myself and see how far I get - and ask my questions when necessary. Right know I could need a little help from scratch ;-)

What I want to do:
I have a OU with nearly 1000 Groups and need to rename about 450 of them. The current naming is something like AAA-BBB-CC-XXXXX. The new groups should be named AAA-BBB_PC-XXXXX.

Is there a chance to to the renaming with powershell?

Regards
Steffen
0
SSR-IS
Asked:
SSR-IS
  • 5
  • 4
1 Solution
 
abhijitmdpCommented:
0
 
KenMcFCommented:
Not sure what version of OS you are running. If have 2008R you could use the MS AD cmdlets if not you can use the quest cmdlets.

You could try something like this if the group names you specified are the same.

Test first in dev or seperate OU.

$groups = get-qadgroup -searchroot "OU=Groups,DC=Domain,DC=Local" | Where {$_.name -match "AAA-BBB-CC"}
foreach ($group in $groups){
$name = $group.name -replace "-CC-", "_PC-"
rename-qadobject $group -NewName $name
}
0
 
SSR-ISAuthor Commented:
Okay thanks - I´ll try this over the weekend!
0
Lessons on Wi-Fi & Recommendations on KRACK

Simplicity and security can be a difficult  balance for any business to tackle. Join us on December 6th for a look at your company's biggest security gap. We will also address the most recent attack, "KRACK" and provide recommendations on how to secure your Wi-Fi network today!

 
SSR-ISAuthor Commented:
Hello KenMcF,

your script work absolutely perfect!
Theres one thing which should be done if possiible. The Pre-Windows2000 name is not changed with this scipt. I think it doesn´t really matter, but it would be better to do this even also.

Maybe you can extend your script, if you don´t mind?

Regards
Steffen
0
 
KenMcFCommented:
try this

$groups = get-qadgroup -searchroot "OU=Groups,DC=Domain,DC=Local" | Where {$_.name -match "AAA-BBB-CC"}
foreach ($group in $groups){
$name = $group.name -replace "-CC-", "_PC-"
rename-qadobject $group -NewName $name | set-qadgroup -samaccountname $name
}
0
 
SSR-ISAuthor Commented:
Thanks for you very quick reply.
There´s an error now, where Powershell states that the pipe element is not allowed to be empt.
0
 
KenMcFCommented:
Have all the groups been renamed already and just the samaccountname needs changed now?
0
 
SSR-ISAuthor Commented:
Oh, I set the naming back to the starting position - which means all groups have the naming AAA-BBB-CC-XXXXX again.
0
 
KenMcFCommented:
I just tested this in my lab and it worked. If it errors can you post a screen shot of the error?

$groups = get-qadgroup -searchroot "OU=Groups,DC=Domain,DC=Local" | Where {$_.name -match "AAA-BBB-CC"}
foreach ($group in $groups){
$name = $group.name -replace "-CC-", "_PC-"
rename-qadobject $group.name -NewName $name | set-qadgroup -samaccountname $name
}
0
 
SSR-ISAuthor Commented:
I don´t know why, maybe I had a typing error, I copied your script again and now it works.

Thanks a lot, espacially for support on sunday! 500 pts to you!

Steffen
0

Featured Post

Lessons on Wi-Fi & Recommendations on KRACK

Simplicity and security can be a difficult  balance for any business to tackle. Join us on December 6th for a look at your company's biggest security gap. We will also address the most recent attack, "KRACK" and provide recommendations on how to secure your Wi-Fi network today!

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now