class CFMicro::Switcher::Windows

Public Instance Methods

adminrun(command, args=nil) click to toggle source
# File lib/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
    CFMicro.run_command(command, args)
  end
end
set_nameserver(domain, ip) click to toggle source

TODO better method to figure out the interface name is to get the NAT ip and find the interface with the correct subnet

# File lib/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) click to toggle source
# File lib/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() click to toggle source
# File lib/micro/switcher/windows.rb, line 4
def version
  CFMicro.run_command("cmd", "/c ver").to_s.scan(/\d+\.\d+/).first.to_f
end