Class: VMC::Micro::Switcher::Windows
- Defined in:
- lib/vmc/micro/switcher/windows.rb
Instance Method Summary collapse
- #adminrun(command, args = nil) ⇒ Object
-
#set_nameserver(domain, ip) ⇒ Object
TODO better method to figure out the interface name is to get the NAT ip and find the interface with the correct subnet.
- #unset_nameserver(domain, ip) ⇒ Object
- #version? ⇒ Boolean
Methods inherited from Base
#initialize, #offline, #online, #status
Constructor Details
This class inherits a constructor from VMC::Micro::Switcher::Base
Instance Method Details
#adminrun(command, args = nil) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/vmc/micro/switcher/windows.rb', line 8 def adminrun(command, args=nil) if version? > 5.2 require 'win32ole' shell = WIN32OLE.new("Shell.Application") shell.ShellExecute(command, args, nil, "runas", 0) else # on older version this will try to run the command, and if you don't have # admin privilges it will tell you so and exit VMC::Micro.run_command(command, args) end end |
#set_nameserver(domain, ip) ⇒ Object
TODO better method to figure out the interface name is to get the NAT ip and find the interface with the correct subnet
22 23 24 |
# File 'lib/vmc/micro/switcher/windows.rb', line 22 def set_nameserver(domain, ip) adminrun("netsh", "interface ip set dns \"VMware Network Adapter VMnet8\" static #{ip}") end |
#unset_nameserver(domain, ip) ⇒ Object
26 27 28 |
# File 'lib/vmc/micro/switcher/windows.rb', line 26 def unset_nameserver(domain, ip) adminrun("netsh", "interface ip set dns \"VMware Network Adapter VMnet8\" static none") end |
#version? ⇒ Boolean
4 5 6 |
# File 'lib/vmc/micro/switcher/windows.rb', line 4 def version? VMC::Micro.run_command("cmd", "/c ver").to_s.scan(/\d+\.\d+/).first.to_f end |