我正在编写ruby脚本,它访问其他联网机器(windows)上的文件夹。我需要知道该机器上的环境变量,我该怎么做?一旦我访问了远程环境变量,它将帮助我知道软件的安装位置。
由于 N.I
答案 0 :(得分:2)
您的解决方案是否需要纯Ruby?如果没有,您可以使用PsExec命令。以下将在remote
(对于当前用户)输出环境变量:
psexec \\remote cmd /C set
这可以通过远程执行cmd
并将命令set
传递给它来运行。
以下Ruby代码将运行PsExec并将远程环境变量作为Hash返回:
Hash[*`psexec \\\\remote cmd /C set`.split("\n").
collect {|i| i.split('=', 2)}.flatten]
答案 1 :(得分:0)
您需要使用帮助程序脚本部署简单的HTTP服务器,该脚本可以打印到您需要的输出流信息(即环境变量等)。 接下来,您必须从远程计算机调用该脚本,并解析结果。
或者,如果没有服务器,请将计划任务添加到远程计算机,每天将一次所需信息写入某个已知文件(我的意思是以固定路径存档)。它更简单,但是你会看到信息的延迟变化。
答案 2 :(得分:0)
我会推荐ruby WMI interface。只要您拥有相当现代的Windows(XP和更高版本的IIRC),就可以轻松地从远程计算机中获取环境变量。 Google for more information