2010-10-22 33 views
2

我如何使用獲得的參數類型WMI類的方法的VBScript我怎樣才能得到一個類型方法的參數爲一個WMI類

其實我使用這個腳本

strComputer = "." 
strNameSpace = "root\cimv2" 
Set objServices = GetObject("winmgmts:root\cimv2") 
Set objShare = objServices.Get("Win32_Share") 

Set objInParam = objShare.Methods_("Create"). _ 
    inParameters.Properties_ 

For Each Property In objInParam 
    WScript.Echo Property.Name 
    WScript.Echo Property.Type //here this code fails, how i can get the type name ? 
Next 

回答

2

你得到的objInParamSWbemPropertySet,它包含SWbemProperty,正如你可以在文檔中看到的那樣,該類沒有Type屬性。但是,您可以改用CIMType屬性。

唯一的困難是CIMType返回Integer,但您可以在文檔中找到WbemCimTypeEnum枚舉的所有可能值。

所以,如果你很樂意與你有你的代碼更改爲整數:

For Each Property In objInParam 
    WScript.Echo Property.Name 
    WScript.Echo Property.CIMType 
Next 

或者,如果你需要一個字符串名稱,你不得不做這樣的事情:

For Each Property In objInParam 
    WScript.Echo Property.Name 
    WScript.Echo GetTypeName(Property.CIMType) 
Next 

Function GetTypeName(typeNumber) 
    ' fill in with a lookup table to the WbemCimTypeEnum ' 
End Function 
+0

+1非常感謝。 – Salvador 2010-10-22 08:54:15

相關問題