0.1.0 • Published 4 months ago
whimy v0.1.0
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.