我需要在Windows中获取域用户的名称。
以下是我尝试获取名称的方式,但它们都返回了域名:
1
...
ENV['username'] # or ENV['USERNAME'] or ENV['userid']
...
2
...
require 'etc'
puts Etc.getlogin
...
第3
...
require 'dl/win32'
def get_user_name
api = Win32API.new(
'advapi32.dll',
'GetUserName',
'PP',
'i'
)
buf = "\0" * 512
len = [512].pack('L')
api.call(buf,len)
buf[0..(len.unpack('L')[0])]
end
...
4
这样返回字符串"system"
:
...
require 'win32ole'
network=WIN32OLE.new("Wscript.Network")
puts network.username
...
如何获取用户名或配对域\用户名?
答案 0 :(得分:0)
无法运行系统命令并将其存储在变量中。
u = `WhoAmI /user`
现在u
有您处理的用户信息,不是吗?