WMI invokemethod

  • Thread starter Thread starter Sameh Ahmed
  • Start date Start date
S

Sameh Ahmed

Hello there
Anybody used Managementobject.invoke method?
if yes
how do u send method parameters?
Thanks in advance
Regards
Sameh
 
Hi Sameh,

Use the 'SetPropertyValue' on the ManagementBaseObject...

\\\
myManagementBaseObject = .GetMethodParameters("SomeWMIMethod")

With myManagementBaseObject
.SetPropertyValue("SomeWMIStringProperty", "myValue")
.SetPropertyValue("SomeWMILongProperty", 12345)
End With

With .InvokeMethod("SomeWMIMethod", myManagementBaseObject, Nothing)
If (CType(CType(.Properties.Item("ReturnValue").Value, UInt32).ToString,
Integer) = 0) Then
myValue = CType(.Properties.Item("SomeWMIOutputParameter").Value,
String)
End If
End With
///

HTH,
Gary
 
Hi,


Dim moReturn As Management.ManagementObjectCollection

Dim moSearch As Management.ManagementObjectSearcher

Dim mo As Management.ManagementObject

moSearch = New Management.ManagementObjectSearcher("Select * from
Win32_Printer")

moReturn = moSearch.Get

For Each mo In moReturn

Dim objReturn As Object

Debug.WriteLine(mo("Name"))

mo.InvokeMethod("SetDefaultPrinter", objReturn)

Next



Ken
 
Thanks people for your time
I am an administrator!!! who's quite interested in WMI develepoment.
Can you please give me an idea on how to use the GetOwner of the W32_process
Class?
here's the code I use.....


Dim query As ManagementObjectSearcher
Dim queryCollection As ManagementObjectCollection
Dim co As ConnectionOptions
Dim oq As System.Management.ObjectQuery
Dim ms As System.Management.ManagementScope
Dim mo As New ManagementObject
Dim path As Management.ManagementPath
Dim strComputer, strQuery As String
strQuery = "SELECT * from Win32_process"
oq = New System.Management.ObjectQuery(strQuery)
query = New ManagementObjectSearcher(ms, oq)
queryCollection = query.Get()
Dim i = 0
For Each mo In queryCollection

lv1.Items.Add(mo("name").ToString)
lv1.Items(i).SubItems.Add(mo("ProcessID").ToString)
''''''''''''''''''''''''
need to get the owner of the process here and add a sub item to the list
view
''''''''''''''''''''''''
i = i + 1

End Sub
 
Hi,

Dim moReturn As Management.ManagementObjectCollection

Dim moSearch As Management.ManagementObjectSearcher

Dim mo As Management.ManagementObject

moSearch = New Management.ManagementObjectSearcher("Select * from
Win32_Process")

moReturn = moSearch.Get

For Each mo In moReturn

Dim arOwner(2)

mo.InvokeMethod("GetOwner", arOwner)

Debug.WriteLine(String.Format("{0} Owner {1} Domain {2}", mo("Name"),
arOwner(0), arOwner(1)))

Next



Ken
 
I was looking for this information and you gave me the right example. "now I understand" Thank you for being helpfull to us Newbies :

Regards

Braulio
 
Back
Top