2009-12-30 55 views

回答

0

你需要部署简单的HTTP服务器与打印到你需要(即环境变量等)输出流的信息助手脚本。 接下来,您必须从远程机器调用该脚本,并解析结果。

或者,在没有服务器的情况下,将计划任务添加到远程计算机,每天要写一次所需信息到某个已知文件(我的意思是以固定路径文件)。这很简单,但是您会看到延迟的信息更改。

+0

@UncleMiF, 谢谢!你的第二个建议是我计划做的事情,如果没有其他解决办法:) – 2009-12-31 10:56:32

2

您的解决方案是否需要纯Ruby?如果没有,您可以使用PsExec命令。下面将输出上remote环境变量(当前用户):

psexec \\remote cmd /C set 

这通过远程执行cmd并通过它的命令set运行。

以下Ruby代码将运行PSEXEC并返回远程环境变量的哈希:

Hash[*`psexec \\\\remote cmd /C set`.split("\n"). 
    collect {|i| i.split('=', 2)}.flatten] 
+0

没有必要启动一个远程'cmd'实例。例如,PowerShell可以很好地处理环境变量:它们通过'Env'提供程序支持,这意味着它们显示为名为'Env:'的虚拟“驱动器”,就像注册表一样。如果你想列出所有的环境变量,你可以使用'Get-ChildItem Env:'(或其别名'dir Env:'或'ls Env:')。如果你想访问一个特定的环境变量,你可以使用'Get-Content Env:\ PROGRAMFILES'(或'cat'或'type'),就像使用其他文件或变量一样。您也可以使用简写'$ Env:PROGRAMFILES'语法。 – 2009-12-31 00:33:00

+0

谢谢菲尔。我会试试这个,让你知道。 – 2009-12-31 10:54:12