Find OS username in NodeJS

女生的网名这么多〃 提交于 2019-12-03 10:31:49
drowZ

I am not sure why, but someone added an answer and then deleted it quickly after... I was fast enough to catch it though, and after checking, it is the shortest and most effective way of doing what I asked before:

require("os").userInfo().username

The only problem is, in Windows 10, it returns the first name of the owner account that has been used (just a heads up). Everything else works completely fine!

ankur kumar

This one object you will get username:

let os = require('os')
console.log(os.userInfo());

process.env.USER Should work also at least in MAC or Linux. e.g.

let user = process.env.USER || ""

Definitely, the easiest way to do it is using username

Install:

$ npm install username

Then:

const username = require('username');

(async () => {
    console.log(await username());
    //=> 'current_username'
})();

If it doesn't need to be cross operating systems (just *nix based), one way you could do (keep in mind that exec could be potentially risky to use if you parameterize it):

const Promise = require( 'bluebird' ),
      exec    = Promise.promisify( require( 'child_process' ).exec );

exec( 'id -un' ).then( ( username )=> {
 // do something about it
});

If you want to use bluebird for promises, don't forget about: npm install bluebird --save

Kevin Grosgojat

If you want to get information about the client witch call a route on your server, you have to parse client useragent.

https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx

You can get client user agent with node using those examples :

How to handle user-agent in nodejs environment?

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!