从Windows获取环境variables

根据一些答案,以下应该给我在Windows中的环境variables的用户名。 但是只是给系统。 我知道其他方法来获取用户名,但什么是Ruby193 / Windows7中获取环境variables的最简单的方法?

puts ENV['USERNAME'] #=> SYSTEM 

找到了 ! Allthough我没有得到一个错误,但一个错误的结果(我的用户名肯定不是系统,我在解释器中运行脚本,没有什么奇特的)我不得不要求win32ole。 我之前注意到了这一点,windows脚本不运行或没有给出预期的结果,但不要抱怨某些事情,当你包括一些库,它突然工作。

 require 'win32ole' puts ENV['username'] #=> peter 

编辑:当我现在尝试它突然工作没有要求,幽灵! 我会做其他W7电脑上的测试,并保持张贴。

获取环境变量内容的方式。 不管操作系统。

如果返回SYSTEM那么你的用户名 SYSTEM

如果你的进程是作为一个服务运行的(比如Web服务器),那么SYSTEM是正确的答案。 您可以将服务更改为以不同的用户身份运行(但我怀疑这不是您想要的)。