Help to create VBScript to change OU

Home Forums Scripting Windows Script Host Help to create VBScript to change OU

Viewing 1 post (of 1 total)
  • Author
    Posts

  • trevor.march
    Member
    #153552

    Trying to make a script to pull anything with the ‘FC8’ in the name in the Computers OU and put it in the UNMANAGED OU.

    Please help…this is what I have so far and it’s not working…

    ‘ MoveOU.vbs – Script = Not easy.
    ‘ VBScript to Move computers from the Computers to the unmanaged OU
    ‘ Author Trevor March
    ‘ —————————————————————–‘

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

    ‘ Creates 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 Computers OU
    objCommand.CommandText = _
    “Select Name, Location from ‘LDAP://OU=Computers,dc=gfoundries,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
    strInitial = UCase(Left(objRecordSet.Fields(“Name”).Value,2))

    ‘ Filter Computers.
    If strInitial = “FC8” Then

    strComputer = objRecordSet.Fields(“Name”).Value
    strComputer = “CN=”& strComputer

    intCounter = intCounter +1
    Wscript.Echo “Computer Name: ” & strComputer

    strSourceOU = “,OU=Computers,DC=gfoundries,DC=com”
    strDestinationOU = “OU=UNMANAGED,DC=gfoundries,DC=com”

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

    ‘ Next line matches If strInitial
    End if

    objRecordSet.MoveNext

    Loop

    Wscript.Echo intCounter & ” ” & strInitial & ” moved”

    ‘ End of VBScript[/CODE][CODE]’ MoveOU.vbs – Script = Not easy.
    ‘ VBScript to Move computers from the Computers to the unmanaged OU
    ‘ Author Trevor March


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

    ‘ Creates 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 Computers OU
    objCommand.CommandText = _
    “Select Name, Location from ‘LDAP://OU=Computers,dc=gfoundries,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
    strInitial = UCase(Left(objRecordSet.Fields(“Name”).Value,2))

    ‘ Filter Computers.
    If strInitial = “FC8” Then

    strComputer = objRecordSet.Fields(“Name”).Value
    strComputer = “CN=”& strComputer

    intCounter = intCounter +1
    Wscript.Echo “Computer Name: ” & strComputer

    strSourceOU = “,OU=Computers,DC=gfoundries,DC=com”
    strDestinationOU = “OU=UNMANAGED,DC=gfoundries,DC=com”

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

    ‘ Next line matches If strInitial
    End if

    objRecordSet.MoveNext

    Loop

    Wscript.Echo intCounter & ” ” & strInitial & ” moved”

    ‘ End of VBScript[/CODE]

Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.

External Sharing and Guest User Access in Microsoft 365 and Teams

This eBook will dive into policy considerations you need to make when creating and managing guest user access to your Teams network, as well as the different layers of guest access and the common challenges that accompany a more complicated Microsoft 365 infrastructure.

You will learn:

  • Who should be allowed to be invited as a guest?
  • What type of guests should be able to access files in SharePoint and OneDrive?
  • How should guests be offboarded?
  • How should you determine who has access to sensitive information in your environment?

Sponsored by:

 
Office 365 Coexistence for Mergers & Acquisitions: Don’t Panic! Make it SimpleLive Webinar on Tuesday, November 16, 2021 @ 1 pm ET

In this session, Microsoft MVPs Steve Goodman and Mike Weaver, and tenant migration expert Rich Dean, will cover the four most common steps toward Office 365 coexistence and explain the simplest route to project success.

  • Directory Sync/GAL Sync – How to prepare for access and awareness
  • Calendar Sharing – How to retrieve a user’s shared calendar, or a room’s free time
  • Email Routing – How to guarantee email is routed to the active mailbox before and after migration
  • Domain Sharing – How to accommodate both original and new SMTP domains at every stage

Aimed at IT Admins, Infrastructure Engineers and Project Managers, this session outlines both technical and project management considerations – giving you a great head start when faced with a tenant migration.the different layers of guest access and the common challenges that accompany a more complicated Microsoft 365 infrastructure.

Sponsored by: