Node.Js - 获取 windows 用户名
Node.Js - Get windows username
我正在尝试获取 运行 我的 node.jS 应用程序(该应用程序始终 运行 在 Windows机)。
如何使用 Node.Js 获取当前的 windows 用户名?
我试图在 C# 中为 node.js 或 whoamI[= 找到类似于 WindowsIdentity.GetCurrent().Name 的内容20=]命令在CMD.
虽然节点有内置的操作系统功能os
和os.hostname()
到return的主机名,但您需要在ASP.NET中访问客户端的主机名或您选择的语言。您不能在节点中执行此操作,因为它在服务器端 运行 并且与客户端的本地信息无关。
> require('os')
> os.hostname()
看这道题
Determine Client's Computer Name
在 ASP.NET 又名客户端中获取客户端主机名
System.Net.Dns.GetHostEntry( Request.ServerVariables["REMOTE_HOST"]).HostName;
懒人用勺子喂食
string IP = Request.UserHostName;
string compName = CompNameHelper.DetermineCompName(IP);
code from compnamehelper:
public static string DetermineCompName(string IP)
{
IPAddress myIP = IPAddress.Parse(IP);
IPHostEntry GetIPHost = Dns.GetHostEntry(myIP);
List<string> compName = GetIPHost.HostName.ToString().Split('.').ToList();
return compName.First();
}
我相信你是在说你有一个 Asp.NET 应用程序,并想使用 Node.js 确定当前用户的用户名,然后将其提交给你的 Asp.NET 应用程序.
我不在 Windows 上开发,尽管从 this question 我相信这可能存储为环境变量。 process.env
是环境变量的 javascript 映射/字典,可能包含用户用户名。
或者你可以从用户主目录解析它:
var path = require('path');
var username = path.sep(process.env['USERPROFILE'])[2];
我上面链接的问题暗示 USERPROFILE
解析为 C:\Users\USERNAME\
。然后我拆分路径并采用第三个元素,即用户名。
同样,我没有 windows 机器,无法确认这一点。希望这能让你走上正确的道路。
干杯。
自 Node v6 (2016-04) 起,您可以只使用 os.userInfo :
var os = require('os');
os.userInfo().username
获取当前登录用户名:
var path = require('path');
var userName = process.env['USERPROFILE'].split(path.sep)[2];
var loginId = path.join("domainName",userName);
console.log(loginId);
我知道这不会像 OP 所要求的那样为 Web 应用程序的客户端用户提供,但是当 运行 Node 应用程序时,这个问题在试图获取登录用户的搜索结果中排名很高本地。
您可以使用 Windows 中的环境变量重现 whoamI
和 WindowsIdentity.GetCurrent()
的 <domain>\<username>
输出。
process.env.USERDOMAIN + '\' + process.env.USERNAME
如果您想使用 USERPROFILE
:
process.env.USERDOMAIN + '\' + process.env.USERPROFILE.split('\').pop()
有人创建了一个名为 username 的模块,它可以为您完成所有艰苦的工作。
你喜欢用它
var username = require('username');
console.log( username.sync() );
从 Node v6 (2016-04) 开始,您可以只使用 os.userInfo :
获取当前登录用户名:
var path = require('path');
var userName = process.env['USERPROFILE'].split(path.sep)[2];
var loginId = path.join("domainName",userName);
console.log(loginId);
一旦我们从上面获得用户名 code.we 客户端无法访问此用户名 api side.it 显示此方法的 401 资源
我正在尝试获取 运行 我的 node.jS 应用程序(该应用程序始终 运行 在 Windows机)。
如何使用 Node.Js 获取当前的 windows 用户名?
我试图在 C# 中为 node.js 或 whoamI[= 找到类似于 WindowsIdentity.GetCurrent().Name 的内容20=]命令在CMD.
虽然节点有内置的操作系统功能os
和os.hostname()
到return的主机名,但您需要在ASP.NET中访问客户端的主机名或您选择的语言。您不能在节点中执行此操作,因为它在服务器端 运行 并且与客户端的本地信息无关。
> require('os')
> os.hostname()
看这道题
Determine Client's Computer Name
在 ASP.NET 又名客户端中获取客户端主机名
System.Net.Dns.GetHostEntry( Request.ServerVariables["REMOTE_HOST"]).HostName;
懒人用勺子喂食
string IP = Request.UserHostName;
string compName = CompNameHelper.DetermineCompName(IP);
code from compnamehelper:
public static string DetermineCompName(string IP)
{
IPAddress myIP = IPAddress.Parse(IP);
IPHostEntry GetIPHost = Dns.GetHostEntry(myIP);
List<string> compName = GetIPHost.HostName.ToString().Split('.').ToList();
return compName.First();
}
我相信你是在说你有一个 Asp.NET 应用程序,并想使用 Node.js 确定当前用户的用户名,然后将其提交给你的 Asp.NET 应用程序.
我不在 Windows 上开发,尽管从 this question 我相信这可能存储为环境变量。 process.env
是环境变量的 javascript 映射/字典,可能包含用户用户名。
或者你可以从用户主目录解析它:
var path = require('path');
var username = path.sep(process.env['USERPROFILE'])[2];
我上面链接的问题暗示 USERPROFILE
解析为 C:\Users\USERNAME\
。然后我拆分路径并采用第三个元素,即用户名。
同样,我没有 windows 机器,无法确认这一点。希望这能让你走上正确的道路。
干杯。
自 Node v6 (2016-04) 起,您可以只使用 os.userInfo :
var os = require('os');
os.userInfo().username
获取当前登录用户名:
var path = require('path');
var userName = process.env['USERPROFILE'].split(path.sep)[2];
var loginId = path.join("domainName",userName);
console.log(loginId);
我知道这不会像 OP 所要求的那样为 Web 应用程序的客户端用户提供,但是当 运行 Node 应用程序时,这个问题在试图获取登录用户的搜索结果中排名很高本地。
您可以使用 Windows 中的环境变量重现 whoamI
和 WindowsIdentity.GetCurrent()
的 <domain>\<username>
输出。
process.env.USERDOMAIN + '\' + process.env.USERNAME
如果您想使用 USERPROFILE
:
process.env.USERDOMAIN + '\' + process.env.USERPROFILE.split('\').pop()
有人创建了一个名为 username 的模块,它可以为您完成所有艰苦的工作。
你喜欢用它
var username = require('username');
console.log( username.sync() );
从 Node v6 (2016-04) 开始,您可以只使用 os.userInfo :
获取当前登录用户名:
var path = require('path');
var userName = process.env['USERPROFILE'].split(path.sep)[2];
var loginId = path.join("domainName",userName);
console.log(loginId);
一旦我们从上面获得用户名 code.we 客户端无法访问此用户名 api side.it 显示此方法的 401 资源