Solved

Is there a script to move all disabled AD accounts over to a specified OU?

Posted on 2014-11-21
10
201 Views
Last Modified: 2014-12-12
I have multiple sites/OU and each one have disabled accounts that i would want to automatically move to a different OU. Is there a Powershell script for this?
0
Comment
Question by:CiscoAzn
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
  • 2
10 Comments
 
LVL 29

Expert Comment

by:becraig
ID: 40457949
Here is an easy one, includes the creation of the OU in the event you do not yet have the destination OU created:
#Import AD Module
Import-Module ActiveDirectory

#Check for existence of OU and create if not present
[string] $Path = 'OU=StaleComputers,DC=domain,DC=com'
try
{
	if (!([adsi]::Exists("LDAP://$Path")))
	{
		#Create OU since it does not yet exist
		NEW-ADOrganizationalUnit “StaleComputers” –path “DC=domain, DC=com”
	}
	else { Write-Debug "OU Already Exists:  $Path" }
}
catch [Exception]    {
	return $_.Exception.Message
}


#now we proceed to check for computers
Get-ADComputer -Filter { Enabled -eq $false } | Move-ADObject -TargetPath $Path -WhatIf

Open in new window



If you already have the OU then this will work:


 $Path = 'OU=StaleComputers,DC=domain,DC=com'
Get-ADComputer -Filter { Enabled -eq $false } | Move-ADObject -TargetPath $Path -WhatIf

Open in new window


Remove the whatif to actually run.
0
 

Author Comment

by:CiscoAzn
ID: 40458011
What about pointing to a specific OU for the source of all the sites with the disabled accounts and the destination would the $Path. I don't want to run it for the entire domain.
0
 
LVL 29

Accepted Solution

by:
becraig earned 500 total points
ID: 40458032
$Path = 'OU=StaleComputers,DC=domain,DC=com'
Get-ADComputer -Filter { Enabled -eq $false } -SearchBase "OU=computerOU,OU=Company,DC=domain,DC=com"  | Move-ADObject -TargetPath $Path -WhatIf

Open in new window


For multiple OUs you can either input them directly and pipe into a foreach loop. (similar to your previous question)


$OUs = 'OU=Users1,OU=Company,DC=domain,DC=com','OU=Users2,OU=Company,DC=domain,DC=com','OU=Users3,OU=Company,DC=domain,DC=com'

$OUs | % { Get-ADComputer -Filter { Enabled -eq $false } -SearchBase $_  | Move-ADObject -TargetPath $Path -WhatIf}

Open in new window

0
Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

 

Author Comment

by:CiscoAzn
ID: 40458167
I did a test and found out why it didn't work. Had to change from ADComputer to ADUser so this works perfectly thanks!
0
 
LVL 29

Expert Comment

by:becraig
ID: 40458183
No prob, yeah I'd actually done this for computers on another question and just copy and pasted.
0
 
LVL 29

Expert Comment

by:becraig
ID: 40460168
Did you need anything else on this question ?

If so let me know and I will be happy to help.
0
 
LVL 1

Expert Comment

by:Satyendra Tiwari
ID: 40468740
Hi Cisco,
You can download the complete script from this given resource and I hope, it will help you to resolve your purpose for moving all disabled AD accounts to specific OU : https://gallery.technet.microsoft.com/scriptcenter/Move-and-disable-inactive-b1cf86c3
0
 
LVL 29

Expert Comment

by:becraig
ID: 40468747
This question was indicated as answered in comment 40458167
0
 
LVL 1

Expert Comment

by:Satyendra Tiwari
ID: 40468754
This question was indicated as answered in comment 40458167

Ok, i did not see that.
0
 

Author Comment

by:CiscoAzn
ID: 40496585
becraig I want to run this as a scheduled task and not able to. Do you have a way to do this? What is the Action that needs to be input to have this working?
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Always backup Domain, SYSVOL etc.using processes according to Microsoft Best Practices. This is meant as a disaster recovery process for small environments that did not implement backup processes and did not run a secondary domain controller that ne…
Did you know that more than 4 billion data records have been recorded as lost or stolen since 2013? It was a staggering number brought to our attention during last week’s ManageEngine webinar, where attendees received a comprehensive look at the ma…
This tutorial will walk an individual through the process of configuring their Windows Server 2012 domain controller to synchronize its time with a trusted, external resource. Use Google, Bing, or other preferred search engine to locate trusted NTP …
This tutorial will show how to configure a single USB drive with a separate folder for each day of the week. This will allow each of the backups to be kept separate preventing the previous day’s backup from being overwritten. The USB drive must be s…

752 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