In this section you will learn how to get information about the installed operating system, versions of installed development specific software packages, shell and users online:
For function reference and examples we assume, that we imported systeminformation as follows:
const si = require('systeminformation');Operating System, Shell, Versions, Users
All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)
| Function | Result object | Linux | BSD | Mac | Win | Sun | Comments | 
|---|---|---|---|---|---|---|---|
| si.osInfo(cb) | {...} | X | X | X | X | X | OS information | 
| platform | X | X | X | X | X | 'linux', 'darwin', 'Windows', ... | |
| distro | X | X | X | X | X | ||
| release | X | X | X | X | X | ||
| codename | X | ||||||
| kernel | X | X | X | X | X | kernel release - same as os.release() | |
| arch | X | X | X | X | X | same as os.arch() | |
| hostname | X | X | X | X | X | same as os.hostname() | |
| fqdn | X | X | X | X | X | fully qualfied domain name | |
| codepage | X | X | X | X | OS build version | ||
| logofile | X | X | X | X | X | e.g. 'apple', 'debian', 'fedora', ... | |
| serial | X | X | X | X | OS/Host serial number | ||
| build | X | X | X | OS build version | |||
| servicepack | X | service pack version | |||||
| uefi | X | X | X | X | OS uses UEFI on startup | ||
| Example
{
  platform: 'darwin',
  distro: 'Mac OS X',
  release: '10.15.3',
  codename: 'macOS Catalina',
  kernel: '19.3.0',
  arch: 'x64',
  hostname: 'hostname.local',
  fqdn: 'hostname.local',
  codepage: 'UTF-8',
  logofile: 'apple',
  serial: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
  build: '19D76',
  servicepack: '',
  uefi: true
} | |||||||
| si.uuid(cb) | {...} | X | X | X | X | X | object of several UUIDs | 
| os | X | X | X | X | os specific UUID | ||
| si.shell(cb) | : string | X | X | X | standard shell | ||
| si.versions(apps, cb) | {...} | X | X | X | X | X | version information of node and dev software packages optional apps param (string, comma or space seperated) only those apps are detected | 
| kernel | X | X | X | X | X | os kernel version | |
| openssl | X | X | X | X | X | node openssl version | |
| systemOpenssl | X | X | X | X | X | os openssl version | |
| systemOpensslLib | X | X | X | X | X | openSSL, LibreSSL, ... | |
| node | X | X | X | X | X | node version | |
| v8 | X | X | X | X | X | v8 version | |
| npm | X | X | X | X | X | npm version | |
| yarn | X | X | X | X | X | yarn version | |
| pm2 | X | X | X | X | X | pm2 version | |
| gulp | X | X | X | X | X | gulp version | |
| grunt | X | X | X | X | X | grunt version | |
| git | X | X | X | X | X | git version | |
| tsc | X | X | X | X | X | typescript version | |
| mysql | X | X | X | X | X | mysql version | |
| redis | X | X | X | X | X | redis version | |
| mongodb | X | X | X | X | X | mongodb version | |
| apache | X | X | X | X | X | apache version | |
| nginx | X | X | X | X | X | nginx version | |
| php | X | X | X | X | X | php version | |
| docker | X | X | X | X | X | docker version | |
| postfix | X | X | X | X | X | postfix version | |
| postgresql | X | X | X | X | X | postgresql version | |
| perl | X | X | X | X | X | perl version | |
| python | X | X | X | X | X | python version | |
| python3 | X | X | X | X | X | python3 version | |
| java | X | X | X | X | X | java version | |
| gcc | X | X | X | X | X | gcc version | |
| virtualbox | X | X | X | X | X | virtualbox version | |
| Example
{
  kernel: '19.3.0',
  openssl: '1.1.1d',
  systemOpenssl: '2.8.3',
  systemOpensslLib: 'LibreSSL',
  node: '13.8.0',
  v8: '7.9.317.25-node.28',
  npm: '6.13.6',
  yarn: '',
  pm2: '',
  gulp: '',
  grunt: '',
  git: '2.21.1',
  tsc: '3.7.5',
  mysql: 'gpl)',
  redis: '',
  mongodb: '',
  apache: '2.4.41 (Unix)',
  nginx: '',
  php: '7.3.11',
  docker: '19.03.5',
  postfix: '3.2.2',
  postgresql: '12.1',
  perl: '5.18.4',
  python: '2.7.16',
  python3: '3.7.3',
  pip: '',
  pip3: '19.0.3',
  java: '',
  gcc: '4.2.1',
  virtualbox: ''
}Example 2
{
  npm: '6.13.6',
  php: '7.3.11',
  postgresql: '12.1'
} | |||||||
| si.users(cb) | [{...}] | X | X | X | X | X | array of users online | 
| [0].user | X | X | X | X | X | user name | |
| [0].tty | X | X | X | X | X | terminal | |
| [0].date | X | X | X | X | X | login date | |
| [0].time | X | X | X | X | X | login time | |
| [0].ip | X | X | X | X | ip address (remote login) | ||
| [0].command | X | X | X | X | last command or shell | ||
| Example
[
  {
    user: 'yourname',
    tty: 'ttys006',
    date: '2020-02-01',
    time: '21:20',
    ip: '',
    command: 'w -ih'
  },
  {
    user: 'othername',
    tty: 'ttys008',
    date: '2020-02-01',
    time: '21:20',
    ip: '',
    command: '-bash'
  }
] | |||||||