Найти имя пользователя ОС в 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?