Improve company productivity with a Business Account.Sign Up

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

Script to move a computer object and add to specified groups.

Hello all,

Im looking for some help creating a script (or finding one) that can be used easily by our workstation support team.

Here is what needs to happen

1. Computer Object gets created in a specified OU - This will be done manually.
2. Workstation Tech starts the script and enters the computer name that was created.
3. Script moves the computer object to a specified OU and adds it to a set of specified security groups.

Thanks again,
0
omcmonitor
Asked:
omcmonitor
  • 6
  • 6
1 Solution
 
BT15Commented:
this asks for an inputed computername. you just need to sub out the distiguished name of the OU that you are moving to and the group names you want to add.

you also need the activedirectory commandlets installed (RSAT)

if you dont have those (or are running XP/server 2003) there are AD commandlets availible from Quest with similar syntax.



import-module activedirectory

$computername = read-host Enter Computer Name

get-adcomputer $computername | move-adobject -targetpath "OU=Destination,DC=Test,Dc=Domain,DC=com

add-adgroupmember "Group1" -members $computername
add-adgroupmember "Group2" -members $computername
add-adgroupmember "Group3" -members $computername
0
 
omcmonitorAuthor Commented:
Sorry for my lack of knowledge, is this a vb script?
0
 
BT15Commented:
no need to be sorry. I didnt see that this was given multiple topics.

This is powershell.

what Operating system will you be using to execute this?
0
Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

 
omcmonitorAuthor Commented:
Well we all run windows 7. So that should work out just fine! Ill go test it out!
0
 
BT15Commented:
great.

you will want to install RSAT if you dont have it already.

http://www.microsoft.com/en-us/download/details.aspx?id=7887
0
 
omcmonitorAuthor Commented:
Yep I have that installed for sure. I can get the others setup with it.
0
 
omcmonitorAuthor Commented:
Is there a way i can specify the OU that the script looks in initially? say OU=Computers,DC=Domain,DC=Org

Currently, does it just look through the entire directory?
0
 
BT15Commented:
absolutely

import-module activedirectory

$computername = read-host Enter Computer Name

get-adcomputer $computername -searchbase "OU=Computers,DC=Domain,DC=Org" | move-adobject -targetpath "OU=Destination,DC=Test,Dc=Domain,DC=com

add-adgroupmember "Group1" -members $computername
add-adgroupmember "Group2" -members $computername
add-adgroupmember "Group3" -members $computername
0
 
omcmonitorAuthor Commented:
I am running the commands one at a time and get the following error.

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS U:\> import-module activedirectory
PS U:\> $computername = read-host Enter Computer Name
Enter Computer Name: SEC1ITL004
PS U:\> get-adcomputer $computername -searchbase "OU=Computers Test,DC=Domain,DC=org" | move-adobject -targetpath "OU=Wi
reless Lockdown,OU=Imprivata,OU=Workstations,OU=Devices,OU=Hospital,DC=Domain,DC=org"
Get-ADComputer : A positional parameter cannot be found that accepts argument 'SEC1ITL004'.
At line:1 char:15
+ get-adcomputer <<<<  $computername -searchbase "OU=Computers Test,DC=Domain,DC=org" | move-adobject -targetpath "OU=W
ireless Lockdown,OU=Imprivata,OU=Workstations,OU=Devices,OU=Hospital,DC=olmmed,DC=org"
    + CategoryInfo          : InvalidArgument: (:) [Get-ADComputer], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.GetADComputer

Open in new window

0
 
BT15Commented:
my appologies. Please try this instead:

import-module activedirectory

$computername = read-host Enter Computer Name

get-adcomputer -searchbase "OU=Computers,DC=Domain,DC=Org"  -filter {name -eq $computername}| move-adobject -targetpath "OU=Destination,DC=Test,Dc=Domain,DC=com

add-adgroupmember "Group1" -members $computername
add-adgroupmember "Group2" -members $computername
add-adgroupmember "Group3" -members $computername

Open in new window

0
 
omcmonitorAuthor Commented:
Now after this

get-adcomputer -searchbase "OU=Computers,DC=Domain,DC=Org"  -filter {name -eq $computername}| move-adobject -targetpath "OU=Destination,DC=Test,Dc=Domain,DC=com

Open in new window


I just get the following prompt with the blinking cursor after it.

>>

Open in new window

0
 
BT15Commented:
sorry. its missing a closed quote on that line, which apparently didnt paste.


import-module activedirectory

$computername = read-host Enter Computer Name

get-adcomputer -searchbase "OU=Computers,DC=Domain,DC=Org"  -filter {name -eq $computername}| move-adobject -targetpath "OU=Destination,DC=Test,Dc=Domain,DC=com"

add-adgroupmember "Group1" -members $computername
add-adgroupmember "Group2" -members $computername
add-adgroupmember "Group3" -members $computername

Open in new window

0
 
Martin LissOlder than dirtCommented:
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Has Powershell sent you back into the Stone Age?

If managing Active Directory using Windows Powershell® is making you feel like you stepped back in time, you are not alone.  For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why.

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