'///////////////////////////////////////////////////////////////////////////////////////////////////// '// '// Script: MoveConsoleFolderItem.vbs '// '// Purpose: Used to Move Console Folder Items '// '// Usage: cscript MoveConsoleFolderItem.vbs '// '// Version: 1.0 - 04 Sept 2011 - Brandon Linton '// '// Disclaimer: This script is provided "AS IS" with no warranties, confers no rights and '// is not supported by the authors or Inkbal Consulting, LLC. '// '// '///////////////////////////////////////////////////////////////////////////////////////////////////// ' Setup a connection to the local provider. Set swbemLocator = CreateObject("WbemScripting.SWbemLocator") Set swbemconnection= swbemLocator.ConnectServer(".", "root\sms") Set providerLoc = swbemconnection.InstancesOf("SMS_ProviderLocation") For Each Location In providerLoc If location.ProviderForLocalSite = True Then Set swbemconnection = swbemLocator.ConnectServer(Location.Machine, "root\sms\site_" + Location.SiteCode) Exit For End If Next '// Move Console Folder item Call MoveConsoleFolderItem(swbemconnection, "C0100108", 5000, 0, 16777220) Sub MoveConsoleFolderItem(Connection, itemObjectID, ObjectType, SourceContainerNodeID, DestinationTargetContainerNodeID) Dim objInParam, objOutParams, objInstance, sourceItems On Error Resume Next ' Moving only one folder. sourceItems = Array(itemObjectID) ' Obtain the class definition object of a SMS_ObjectContainerNode object. Set objInstance = swbemconnection.Get("SMS_ObjectContainerItem") If Err.Number<>0 Then Wscript.Echo "Couldn't get container node item class" Exit Sub End If ' Set up the in parameters Set objInParam = objInstance.Methods_("MoveMembers").inParameters.SpawnInstance_() 'wscript.echo sourceItems(0) objInParam.Properties_.Item("InstanceKeys") = sourceItems objInParam.Properties_.Item("ContainerNodeID") = SourceContainerNodeID objInParam.Properties_.Item("TargetContainerNodeID") = DestinationTargetContainerNodeID objInParam.Properties_.Item("ObjectType") = ObjectType ' Call the method. Set objOutParams = swbemconnection.ExecMethod("SMS_ObjectContainerItem","MoveMembers",objInParam) ' Return Results If objOutParams.ReturnValue<>0 Then Wscript.echo "Collection Failed to Move" Else Wscript.echo "Collection Moved Successfully!" End if End Sub