Hi guys,
First off, hello New to the community, looks very helpful and active
indeed…
As i say, I am new to Ruby and am trying to port some WMI Powershell
code over – I am not having much luck… My goal is to automate Hyper-V
on Windows 2008, as an example at a very simple level in powershell I
can do:
Define variable for getting VSMS class
$VSMS = get-wmiobject MSVM_VirtualSystemManagementService -namespace
“root\virtualization”
Then call a method on that class like this. Definevirtualsystem is
the method in question, I call it with no parameters.
$VSMS.definevirtualsystem()
I have tried two libarys in Ruby, win32ole and ruby-wmi. The synatx for
ruby-wmi confused me the most, so can only post a (kind of) working
example with win32ole:
require ‘win32ole’
wmi =
WIN32OLE.connect(“winmgmts:\\localhost\root\virtualization:Msvm_VirtualSystemManagementService”)
wmi.ExecMethod(DefineVirtualSystem())
… this gives me the following error:
test.rb:4: undefined method `DefineVirtualSystem’ for main:Object
(NoMethodError)
Also one of the tricks with WMI is to get the XML output of a class,
change the settings and squirt it back.
Using the previous example, i could do:
$VSMS.psbase.gettext(1)
…to give myself the raw XML. Is there an easy way to do this in Ruby?
Any pointers would be greatly appreciated.
Cheers,
Nick