如何使用Ruby从远程注册表中读取值

时间:2014-03-07 14:51:24

标签: ruby windows winapi remote-registry

我有一个运行Ruby 1.9.3(MRI)的小应用程序,我需要它来查询远程服务器的远程注册表的“ComputerName”。我有用于检查本地注册表的代码,如下所示:

#Gemfile
gem "win32-service", "0.8.2", :platforms => :mingw

# regchecker.rb
require 'win32/registry'

def value_exists?(path,key)
  reg_type = Win32::Registry::KEY_READ | 0x100
  Win32::Registry::HKEY_LOCAL_MACHINE.open(path, reg_type) do |reg|
    begin
      regkey = reg[key]
      p regkey.inspect
      return true
    rescue
      return false
    end
  end
end



puts(value_exists?("SYSTEM\\CurrentControlSet\\Control\\ComputerName\\ActiveComputerName", 'ComputerName'))

运行此代码会生成本地ComputerName注册表项的打印输出以及布尔值。

但是,我找不到使用Ruby和win32-service gem(或任何其他gem)的方法来从具有用户ID和密码的远程计算机中读取ComputerName。我如何使用Ruby和win32-service,或其他一些gem,甚至其他命令来做到这一点?

0 个答案:

没有答案