Node.Js-获取当前的Windows用户名

Ben*_*min 14 active-directory node.js

我有一个能够运行NodeJS代码的客户端应用程序.我试图获取客户端Windows用户名(客户端始终在Windows机器上运行)并将Windows用户名传递给服务器端.

如何使用Node.Js获取当前的Windows用户名?

我试图找到类似于WindowsIdentity.GetCurrent()的内容.在C#中为node.js 命名,或在CMD中使用whoamI命令.

小智 24

从Node v6(2016-04)开始,你可以使用os.userInfo:

var os = require('os');
os.userInfo().username
Run Code Online (Sandbox Code Playgroud)

要获取当前登录的用户名:

var path = require('path');
var userName = process.env['USERPROFILE'].split(path.sep)[2];
var loginId = path.join("domainName",userName);
console.log(loginId);
Run Code Online (Sandbox Code Playgroud)

  • 在linux下没有为我工作,但我可以在``process.env.USER``下找到用户 (3认同)
  • 我能够从 process.env.USERDOMAIN process.env.USERNAME 获取 (2认同)

dav*_*dem 8

我知道这不会像OP要求那样给客户端用户提供Web应用程序,但是在本地运行Node应用程序时尝试获取登录用户的搜索结果中存在这个问题.

您可以在Windows中重现环境变量的<domain>\<username>输出whoamIWindowsIdentity.GetCurrent()环境变量.

process.env.USERDOMAIN + '\\' + process.env.USERNAME

如果您更愿意使用USERPROFILE:

process.env.USERDOMAIN + '\\' + process.env.USERPROFILE.split('\\').pop()