Sha256: 8056f058849c06f8d706b0b8bbe1328c6a3d38c99b4ab1f11358ba215e9e86ac

Contents?: true

Size: 988 Bytes

Versions: 151

Compression:

Stored size: 988 Bytes

Contents

module VMC::Micro::Switcher

  class Windows < Base
    def version?
      VMC::Micro.run_command("cmd", "/c ver").to_s.scan(/\d+\.\d+/).first.to_f
    end

    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

    # TODO better method to figure out the interface name is to get the NAT ip and find the
    # interface with the correct subnet
    def set_nameserver(domain, ip)
      adminrun("netsh", "interface ip set dns \"VMware Network Adapter VMnet8\" static #{ip}")
    end

    def unset_nameserver(domain, ip)
      adminrun("netsh", "interface ip set dns \"VMware Network Adapter VMnet8\" static none")
    end
  end

end

Version data entries

151 entries across 151 versions & 9 rubygems

Version Path
vmc-0.4.0.beta.49 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.48 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.47 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.3.21 lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.46 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.3.20 lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.45 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.44 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.43 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.42 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.3.19 lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.41 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.40 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.39 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.38 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.37 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.36 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.35 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.34 vmc/lib/vmc/micro/switcher/windows.rb
vmc-0.4.0.beta.33 vmc/lib/vmc/micro/switcher/windows.rb