Hallo zusammen,
ich brauche mal wieder eure Hilfe. Ich versuche einen VBS Code in AutoIt zu portieren. Es geht darum eine Tasksequence in SCCM 2007 zu erstellen. In VBS funktioniert es wunderbar. In AutoIt bekomme ich eine Fehlermeldung:
G:\Test.au3 (25 : ==> The requested action with this object has failed.:
$oOutParams = $oConnection.ExecMethod("SMS_TaskSequencePackage", "SetSequence", $oInParams)
$oOutParams = $oConnection.ExecMethod("SMS_TaskSequencePackage", "SetSequence", $oInParams)^ ERROR
und hier der AutoIt Code dazu:
[autoit]
Global $strSmsServer = "."
$oSwbemLocator = ObjCreate("WbemScripting.SWbemLocator")
$oSwbemConnection = $oSwbemLocator.ConnectServer($strSmsServer, "root\sms")
$oProviderLoc = $oSwbemConnection.InstancesOf("SMS_ProviderLocation")
For $oLocation In $oProviderLoc
If $oLocation.ProviderForLocalSite = True Then
$oSwbemConnection = $oSwbemLocator.ConnectServer($oLocation.Machine, "root\sms\site_" & $oLocation.SiteCode)
$sSiteCode = $oLocation.SiteCode
ExitLoop
EndIf
Next
$oConnection = $oSwbemConnection
$oTaskSequence = $oConnection.Get("SMS_TaskSequence").SpawnInstance_()
$oTaskSequencePackage = $oConnection.Get("SMS_TaskSequencePackage").SpawnInstance_()
$oTaskSequencePackage.Name = "New task sequence package"
$oTaskSequencePackage.Description = "A new task sequence package description"
$oPackageClass = $oConnection.Get("SMS_TaskSequencePackage")
$oInParams = $oPackageClass.Methods_("SetSequence").inParameters.SpawnInstance_()
$oInParams.TaskSequence = $oTaskSequence
$oInParams.TaskSequencePackage = $oTaskSequencePackage
$oOutParams = $oConnection.ExecMethod("SMS_TaskSequencePackage", "SetSequence", $oInParams)
Zum Vergleich hier der VBS Code
server = "."
Set swbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set swbemServices= swbemLocator.ConnectServer _
(server, "root\sms")
Set providerLoc = swbemServices.InstancesOf("SMS_ProviderLocation")
For Each location In providerLoc
If location.ProviderForLocalSite = True Then
Set swbemServices = swbemLocator.ConnectServer _
(location.Machine, "root\sms\site_" + _
location.SiteCode)
Set connection = swbemServices
End If
Next
set taskSequence = connection.Get("SMS_TaskSequence").SpawnInstance_()
' Create the new package object.
Set taskSequencePackage = connection.Get("SMS_TaskSequencePackage").SpawnInstance_()
' Populate the new package properties.
taskSequencePackage.Name = "New task sequence package"
taskSequencePackage.Description = "A new task sequence package description"
' Get the parameters object.
Set packageClass = connection.Get("SMS_TaskSequencePackage")
Set objInParams = packageClass.Methods_("SetSequence"). _
inParameters.SpawnInstance_()
' Add the input parameters.
objInParams.TaskSequence = taskSequence
objInParams.TaskSequencePackage = taskSequencePackage
' Add the sequence.
Set objOutParams = connection.ExecMethod("SMS_TaskSequencePackage", "SetSequence", objInParams)
Alles anzeigen
Die Beschreibung der Klasse gibt es hier:
http://msdn.microsoft.com/en-us/library/cc144760.aspx
Wäre echt cool wenn jemand eine Idee hätte wo das Problem liegt.
Vielen Dank schon mal...