Найти имя пользователя ОС в NodeJS

Как я могу найти имя пользователя, которое владелец компьютера использует в настоящее время (при входе в систему), используя NodeJS?

Я немного искал, но ничего не нашел...

Ответ 1

Я не уверен, почему, но кто-то добавил ответ, а затем быстро удалил его... Я был достаточно быстрым, чтобы его поймать, и после проверки это самый короткий и эффективный способ сделать то, что я задал раньше

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

Единственная проблема заключается в том, что в Windows 10 он возвращает первое имя используемой учетной записи владельца (только хэдз-ап). Все остальное работает отлично!

Ответ 2

Этот один объект вы получите имя пользователя:

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

Ответ 3

Определенно, самый простой способ сделать это, используя username

Установка:

$ npm install username

Затем:

const username = require('username');

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

Ответ 4

process.env.USER Должен работать как минимум в MAC или Linux. например

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

Ответ 5

Если вам не нужны перекрестные операционные системы (только на основе nix), один из способов сделать это (помните, что exec может быть потенциально опасным для использования, если вы его параметрируете):

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

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

Если вы хотите использовать bluebird для promises, не забывайте о: npm install bluebird --save

Ответ 6

Если вы хотите получить информацию о том, как клиент запустил маршрут на вашем сервере, вам нужно проанализировать клиентский пользовательский аккаунт.

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

Вы можете получить клиентский агент пользователя с помощью node с помощью следующих примеров:

Как обрабатывать пользовательский агент в среде nodejs?