Bonjour à tous,
je suis nouveau dans l'univers du VB.Net. jusqu'à présent, je faisais surtout du script en vbs, puis pour des besoins plus complexe, je suis passé au dotNet.
le passage de l'un à l'autre c'est fait sans trop de difficulté, la majorité de mes scripts passant en vb moyennant quelques corrections de syntaxes.
tout se passait à merveille jusqu'à je bute sur le problème suivant:
- je travaille sur des objets WMI permettant de manipuler le remplaçant de SMS 2003, SCCM 2007.
j'ai la fonction suivante :
en entrée je lui passe en premier paramètre (iConn) un objet "WbemScripting.SWbemLocator" qui établit une connexion à mon infra sccm, et en deuxième paramètre (inTSP) un objet "TaskSequencePackage" (un objet prorpre à SCCM).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Public Function Get_TaskSequence(ByVal iConn, ByVal inTSP) Dim objInParam Dim packageClass : packageClass = iConn.Get("SMS_TaskSequencePackage") objInParam = packageClass.Methods_("GetSequence").inParameters.SpawnInstance_() objInParam.Properties_.Item("TaskSequencePackage") = inTSP Dim objOutParams : objOutParams = iConn.ExecMethod("SMS_TaskSequencePackage", "GetSequence", objInParam) Get_TaskSequence = objOutParams.TaskSequence End Function
or en VBScript aucun souci, mais en vb dotNet ça plante à la ligne "objInParam.Properties_.Item("TaskSequencePackage") = inTSP" et ça ressort que inTSP => "{"Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))"}"
et j'ai tourné le problème dans pas mal de sens, et j'arrive pas à voir d'où ça vient ...
apparemment, la merdouille vient du passage de mon paramètre "TaskSequencePackage"
....
si quelqu'un a une idée, ça serait cool
Partager