Ruby 1.9.3 (MRI) を実行している小さな Windows アプリケーションがあり、リモート サーバーのリモート レジストリの "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、さらには他のコマンドを使用してこれを行うにはどうすればよいですか?