0.1.0 • Published 4 months ago

whimy v0.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
4 months ago

npm version License: MIT whimy CI/CD codecov

Whimy

In the landscape of Node.js projects that interface with Windows systems, it's common to rely on PowerShell commands for retrieving essential system information. However, this approach poses a security risk and is usually much slower.

Underneath the hood, Whimy leverages Windows Management Instrumentation (WMI) to fetch system data, bypassing the need for potentially hazardous PowerShell commands.

By adopting Whimy, developers gain:

  • 🔒 Enhanced Security: Eliminate the security vulnerabilities associated with executing PowerShell commands.
  • 🚀 Improved Performance: Benefit from the efficiency of direct WMI calls, significantly speeding up data retrieval.

Features

  • Easy querying of WMI services.
  • JSON-parsable response for WMI queries.
  • File signature verification based on publisher names.

Usage

WMI Querying

import { Wmi } from 'whimy';

const wmi = new Wmi(`root\\cimv2`);
const result = wmi.syncQuery("Select * From Win32_processor");
console.log(result);
wmi.stop();

Make an async call to WMI

import { Wmi } from 'whimy';

const result = await Wmi.asyncQuery(`root\\cimv2`, "select Name, ProcessId from Win32_Process");
console.log(result);

File Signature Verification

import { verifySignatureByPublishName } from "whimy";

const filePath = resolve(directoryName, 'path/to/file.exe');
const output = verifySignatureByPublishName(filePath, ['CN="Microsoft Corporation",O="Microsoft Corporation",L=Redmond,S=Washington,C=US']);
console.log(output);

Use Cases

The most obvious use case is to gather system information, see the examples on how it can be done.

Installation

npm install whimy

Contributing

Any contributions are welcome! You can either create an issue or you can create a pull request yourself.

0.1.0

4 months ago

0.0.3

8 months ago

0.0.2

8 months ago

0.0.1

9 months ago