Avatar billede bigilo Nybegynder
17. august 2004 - 11:19 Der er 9 kommentarer og
3 løsninger

Flytte computer fra et OU til et andet??

Hej,

Er der en der kan hjælpe mig med at fytte en computer fra det ou til et andet???

på forhånd mange tak
Avatar billede holmus Nybegynder
17. august 2004 - 11:25 #1
Hvis du bruger windows2k så skal du i dit Active Directory Users And Computers, finde frem til den maskine du vil flytte, højreklikke og vælge Move, herefter kan du så vælge hvor den skal flyttes hen! :-)

I win2k3 kan du bare lave en "Drag and Drop" - altså trække maskinen over i den OU du vil have den over i! :)
Avatar billede bigilo Nybegynder
17. august 2004 - 11:26 #2
Undskyld, dårligt skrevet... Vil gerne kunne gøre det i et vbscript med ADSI
Avatar billede oskar Nybegynder
17. august 2004 - 11:33 #3
Prøv med dette:  (fundet på http://www.computerperformance.co.uk/ezine/ezine27.htm)

' MoveComputer.vbs - A very difficult script.
' VBScript to Move computers from the Accounts to the Payroll OU
' Author Guy Thomas http://computerperformance.co.uk/
' Version 3.2 - April 25th 2004
' -----------------------------------------------------------------'

Option Explicit
Dim objConnection, objCommand, objRecordSet, objNewOU, objMoveComputer
Dim strComputer, strInitial, strSourceOU, strDestinationOU
Dim intCounter

' This is a tricky section. Makes a link to active directory
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"

Set objCOmmand.ActiveConnection = objConnection

' Selects all the computer objects (not Users) in the Accounts OU
' NB Change the LDAP://ou.... to reflect your domain.
objCommand.CommandText = _
"Select Name, Location from 'LDAP://OU=Accounts,dc=cp,dc=com'" _
& "where objectClass='computer'"
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Timeout") = 30
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.Properties("Cache Results") = False

' Treats the computer objects as a set of record cards
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
' Get all the records
Do Until objRecordSet.EOF
    strComputer = objRecordSet.Fields("Name").Value
    strComputer = "CN="& strComputer
    intCounter = intCounter +1
    Wscript.Echo "Computer Name: " & strComputer

' N.B. change the next two lines to OUs in YOUR domain.
  strSourceOU = ",OU=Accounts,DC=cp,DC=com"
  strDestinationOU = "OU=Payroll,DC=cp,DC=com"

  Set objNewOU = GetObject("LDAP://" & strDestinationOU)
  Set objMoveComputer = objNewOU.MoveHere _
  ("LDAP://" & strComputer & strSourceOU, strComputer)

    objRecordSet.MoveNext

Loop

Wscript.Echo intCounter & " Computers moved to " & strDestinationOU



WScript.Quit

' End of Script
Avatar billede holmus Nybegynder
17. august 2004 - 11:34 #4
Okay, fair nok:
Set objNewOU = GetObject("LDAP://OU=Finance,DC=fabrikam,DC=com")
Set objMoveComputer = objNewOU.MoveHere _
    ("LDAP://CN=atl-pro-03,CN=Computers,DC=fabrikam,DC=com", "CN=atl-pro-03")
Avatar billede holmus Nybegynder
17. august 2004 - 11:35 #5
Kan i øvrigt anbefale;
http://www.microsoft.com/technet/scriptcenter/default.mspx

Det er muligt at finde en del scripting op imod AD her! :)
Avatar billede oskar Nybegynder
17. august 2004 - 11:53 #6
Det var nu liierne med ou der skulle ændres.

' N.B. change the next two lines to OUs in YOUR domain.
  strSourceOU = ",OU=Finance,DC=cp,DC=dk"
  strDestinationOU = "OU=Finans,DC=cp,DC=dk"
Avatar billede bigilo Nybegynder
17. august 2004 - 12:49 #7
OKay. kan ikke få det til at virker...
Jeg har en computer som hedder WS12345 som ligger i en Container der hedder Computers
Det hele ligger i domain.com
Den vil jeg gerne flytte til en OU der hedder Computer som ligger i en OU der hedder FYN
HVordan gør jeg det???
Avatar billede holmus Nybegynder
17. august 2004 - 12:53 #8
Sæt denne kode ind i en .vbs fil, og kør den!

Set objNewOU = GetObject("LDAP://OU=FYN,OU=Computer,DC=domain,DC=com")
Set objMoveComputer = objNewOU.MoveHere _
    ("LDAP://CN=WS12345,CN=Computers,DC=domain,DC=com", "CN=WS12345")

Så skulle det virke! :)
Avatar billede bigilo Nybegynder
17. august 2004 - 13:00 #9
Den siger at det er en ugyldig DN-syntaks ved
Set objMoveComputer = objNewOU.MoveHere _
    ("LDAP://CN=WS12345,CN=Computers,DC=domain,DC=com", "CN=WS12345")
Avatar billede holmus Nybegynder
17. august 2004 - 13:06 #10
Jeg er ikke 100% sikker, men prøv evt. at kalde CN=Computers for OU i stedet... Kan være din definition er anderledes end eksemplet! :)
Avatar billede oskar Nybegynder
17. august 2004 - 13:54 #11
Du kunne jo også prøve med forfatterens eget forslag:

  strSourceOU = ",CN=Computers,DC=ditdomæne,DC=dk"
  strDestinationOU = "OU=Computer,DC=ditdomæne,DC=dk"
eller
  strSourceOU = ",CN=Computers,DC=ditdomæne,DC=dk"
  strDestinationOU = "OU=Computer,OU=Fyn,DC=ditdomæne,DC=dk"


Man skal ikke skrive computerens navn, da programmet selv går ind og læser alle computere i containeren. Desuden står der i teksten at den flytter fra OU til OU så jeg aner ikke om det virker fra container til ou.
Avatar billede bigilo Nybegynder
17. august 2004 - 13:56 #12
OKay holmus svar vikede... skulle bare lige være admin for at det virkede...
Så du får point
Takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester