Найти имя пользователя ОС в NodeJS
Как найти имя пользователя, которое владелец компьютера использует в настоящее время (при входе в систему), используя NodeJS?
Я немного поискал, но ничего не нашел...
5 ответов
Я не уверен, почему, но кто-то добавил ответ, а затем быстро удалил его... Я был достаточно быстр, чтобы поймать его, и после проверки, это кратчайший и наиболее эффективный способ сделать то, что я просил:
require("os").userInfo().username
единственная проблема заключается в том, что в Windows 10 он возвращает первое имя учетной записи владельца, которая была использована (просто heads up). Все остальное работает совершенно нормально!
определенно, самый простой способ сделать это-использовать username
установка:
$ npm install username
затем:
const username = require('username');
(async () => {
console.log(await username());
//=> 'current_username'
})();
Если это не должны быть кросс-операционные системы (просто *nix на основе), один из способов, который вы могли бы сделать (имейте в виду, что exec может быть потенциально рискованно использовать, если вы параметризуете его):
const Promise = require( 'bluebird' ),
exec = Promise.promisify( require( 'child_process' ).exec );
exec( 'id -un' ).then( ( username )=> {
// do something about it
});
Если вы хотите использовать bluebird для обещаний, не забудьте о:npm install bluebird --save
Если вы хотите получить информацию о клиенте witch call a route на вашем сервере, вы должны проанализировать клиент useragent.
https://msdn.microsoft.com/en-us/library/ms537503 (v=против 85).aspx
вы можете получить агент пользователя клиента с узлом, используя эти примеры :