2010-11-23 12 views
5
इस तरह कोड की बजाय

:VBScript में NAME द्वारा WMI ऑब्जेक्ट की गुणों तक पहुंचने के लिए संभव है?

On Error Resume Next 
strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
Set colItems = objWMIService.ExecQuery("Select * from Win32_IP4RouteTable",,48) 
For Each objItem in colItems 
    Wscript.Echo "Age: " & objItem.Age 
    Wscript.Echo "Caption: " & objItem.Caption 
    Wscript.Echo "Description: " & objItem.Description 
Next 

इन वाक्यविन्यास में से एक की तरह कुछ नाम से प्रत्येक संपत्ति का उपयोग करने की, क्या यह संभव है:

Wscript.Echo "Age: " & objItem("Age") 
Wscript.Echo "Age: " & objItem.Properties("Age") 
Wscript.Echo "Age: " & objItem.Item("Age") 

और भी बेहतर है, वहाँ किसी भी तरह से आप क्या कर सकते हैं कुछ की तरह:

Dim colItems 
Dim objItem 
Dim aProperty 
Set colItems = objWMIService.ExecQuery("Select * from Win32_IP4RouteTable",,48) 
For Each objItem in colItems 
    For Each aProperty in objItem.Properties 
     Wscript.Echo aProperty.Name & ": " & objItem(aProperty.Name) 
    Next 
Next 

उत्तर

7

आप Properties_ संपत्ति के माध्यम से नामित एक्सेस कर सकते हैं WMI वस्तुओं के गुण:

objItem.Properties_("Age") 
objItem.Properties_.Item("Age") 

और निश्चित रूप से, आप भी Properties_ संग्रह करके बताना कर सकते हैं:

For Each objItem in colItems 
    For Each prop in objItem.Properties_ 
    If IsArray(prop) Then 
     WScript.Echo prop.Name & ": " & Join(prop, ", ") 
    Else 
     Wscript.Echo prop.Name & ": " & prop 
     ''# -- or -- 
     ''# Wscript.Echo prop.Name & ": " & prop.Value 
    End If 
    Next 
Next 
संबंधित मुद्दे

 संबंधित मुद्दे